Dynamo
Primer for v2.0
한국어
한국어
  • 정보
  • 소개
    • Dynamo의 정의 및 작동 방식
    • Primer 사용자 안내서, Dynamo Community 및 플랫폼
  • Dynamo 설정
  • 사용자 인터페이스
    • 작업공간
    • 라이브러리
  • 노드 및 와이어
  • 필수 노드 및 개념
    • 노드의 색인
    • 계산 방식 설계를 위한 형상
      • 형상 개요
      • 벡터, 평면 및 좌표계
      • 점
      • 곡선
      • 표면
      • 솔리드
      • 메쉬
    • 프로그램의 빌딩 블록
      • 데이터
      • 수학
      • 논리
      • 문자열
      • 색상
    • 리스트로 설계
      • 리스트란 무엇입니까?
      • 리스트 작업
      • 리스트의 리스트
      • n차원 리스트
    • Dynamo의 사전
      • 사전이란
      • 사전 노드
      • 코드 블록의 사전
      • Revit 사용 사례
  • 사용자 노드 및 패키지
    • 사용자 노드
      • 사용자 노드 소개
      • 사용자 노드 작성
      • 라이브러리에 게시
    • 패키지
      • 패키지 소개
      • 패키지 성공 사례 - Mesh Toolkit
      • 패키지 개발
      • 패키지 게시하기
      • Zero-Touch 가져오기
  • Revit용 Dynamo
    • Revit 연결
    • 선택
    • 편집
    • 작성
    • 사용자화
    • 문서화
  • Dynamo for Civil 3D
    • Civil 3D 연결
    • 시작하기
    • 노드 라이브러리
    • 샘플 워크플로우
      • 도로
        • 등주 배치
      • 토지
        • 서비스 배치
      • 유틸리티
        • 구조물 이름 바꾸기
      • 레일
        • 클리어런스 엔벨로프
      • 측량
        • 점 그룹 관리
    • 고급 항목
      • 객체 바인딩
      • Python 및 Civil 3D
    • Dynamo 플레이어
    • 유용한 패키지
    • 리소스
  • Dynamo의 코딩
    • 코드 블록과 DesignScript
      • Code Block이란
      • DesignScript 구문
      • 축약형
      • 함수
    • DesignScript를 사용한 형상
      • DesignScript 형상 기본 사항
      • 기하학적 원형
      • 벡터 수학
      • 곡선: 보간 및 제어점
      • 전환, 회전 및 기타 변환
      • 표면: 보간, 제어점, 로프트, 회전
      • 기하학적 매개변수화
      • 교차 및 자르기
      • 기하학적 부울
      • Python 점 생성기
    • Python
      • Python 노드
      • Python 및 Revit
      • 자체 Python 템플릿 설정
    • 언어 변경 사항
  • 모범 사례
    • 그래프 전략
    • 스크립팅 전략
    • 스크립팅 참조
    • 프로그램 관리
    • Dynamo에서 대규모 데이터 세트로 효율적으로 작업
  • 샘플 워크플로우
    • 시작하기 워크플로우
      • 파라메트릭 꽃병
      • 어트랙터 점
    • 개념 색인
  • 개발자 입문서
    • 소스에서 Dynamo 빌드하기
      • 소스에서 DynamoRevit 빌드하기
      • Dynamo의 종속성 관리 및 업데이트
    • Dynamo를 위한 개발
      • 시작하기
      • Zero-Touch 사례 연구 - 그리드 노드
      • Zero-Touch 노드에서 Python 스크립트 실행하기(C#)
      • Zero-Touch로 한 단계 더 나아가기
      • 고급 Dynamo 노드 사용자 정의
      • Dynamo 패키지에서 COM(interop) 유형 사용
      • NodeModel 사례 연구 - 사용자 지정 UI
      • Dynamo 2.x용 패키지 및 Dynamo 라이브러리 업데이트하기
      • Dynamo 3.x용 패키지 및 Dynamo 라이브러리 업데이트하기
      • 확장
      • Dynamo 2.0+에 대한 사용자 패키지 구성 정의
      • Dynamo 명령행 인터페이스
      • Dynamo 통합
      • Revit용 Dynamo을 위한 개발
      • 패키지 게시하기
      • Visual Studio에서 패키지 빌드하기
      • 패키지로 제공되는 확장
    • 끌어오기 요청
    • 테스트 기대치
    • 예제
  • 부록
    • 질문과 대답(FAQ)
    • 시각적 프로그래밍 및 Dynamo
    • 리소스
    • 릴리즈 정보
    • 유용한 패키지
    • 예제 파일
    • 호스트 통합 맵
    • PDF 다운로드
    • Dynamo 키보드 바로 가기
Powered by GitBook
On this page
Edit on GitHub
Export as PDF
  1. 개발자 입문서
  2. Dynamo를 위한 개발

Visual Studio에서 패키지 빌드하기

Previous패키지 게시하기Next패키지로 제공되는 확장

Last updated 2 months ago

Dynamo용 패키지로 게시할 어셈블리를 개발하는 경우 필요한 모든 자산을 그룹화하여 패키지와 호환되는 디렉토리 구조에 배치하도록 프로젝트를 구성할 수 있습니다. 이렇게 하면 프로젝트를 패키지로 빠르게 테스트하고 사용자의 경험을 시뮬레이션할 수 있습니다.

패키지 폴더에 직접 빌드하는 방법

Visual Studio에서 패키지를 빌드하는 방법에는 두 가지가 있습니다.

  • xcopy 또는 Python 스크립트를 사용하는 프로젝트 설정 대화상자를 통해 빌드 후 이벤트를 추가하여 필요한 파일을 복사합니다.

  • .csproj 파일에서 "AfterBuild" 빌드 대상을 사용하여 파일 및 디렉토리 복사 작업을 생성합니다.

"AfterBuild"는 빌드 컴퓨터에서 사용할 수 없는 파일 복사에 의존하지 않으므로 이러한 유형의 작업(및 이 안내서에서 다루는 작업)에 선호되는 방법입니다.

AfterBuild 방법을 사용하여 패키지 파일 복사하기

소스 파일이 패키지 파일과 분리되도록 리포지토리의 디렉토리 구조를 설정합니다. CustomNodeModel 사례 연구를 사용하여 Visual Studio 프로젝트 및 연관된 모든 파일을 새 src 폴더에 배치합니다. 프로젝트에서 생성된 모든 패키지를 이 폴더에 저장할 예정입니다. 그러면 폴더 구조는 다음과 같게 됩니다.

CustomNodeModel
> src
  > CustomNodeModel
  > CustomNodeModelFunction
  > packages
  > CustomNodeModel.sln
  1. 프로젝트 파일을 새 src 폴더로 이동합니다.

  <Target Name="AfterBuild">
    <ItemGroup>
      <Dlls Include="$(OutDir)*.dll" />
      <Pdbs Include="$(OutDir)*.pdb" />
      <Xmls Include="$(OutDir)*.xml" />
      <Configs Include="$(OutDir)*.config" />
    </ItemGroup>
    <Copy SourceFiles="@(Dlls)" DestinationFolder="$(SolutionDir)..\packages\CustomNodeModel\bin\" />
    <Copy SourceFiles="@(Pdbs)" DestinationFolder="$(SolutionDir)..\packages\CustomNodeModel\bin\" />
    <Copy SourceFiles="@(Xmls)" DestinationFolder="$(SolutionDir)..\packages\CustomNodeModel\bin\" />
    <Copy SourceFiles="@(Configs)" DestinationFolder="$(SolutionDir)..\packages\CustomNodeModel\bin\" />
    <MakeDir Directories="$(SolutionDir)..\packages\CustomNodeModel\dyf" />
    <MakeDir Directories="$(SolutionDir)..\packages\CustomNodeModel\extra" />
  </Target>

대상이 CustomNodeModel.csproj 파일(다른 프로젝트 파일 아님)에 추가되었고 프로젝트에 기존 빌드 후 설정이 없는지 확인해야 합니다.

  1. 끝 </Project> 태그 앞에 AfterBuild 대상을 넣습니다.

<ItemGroup> 섹션에는 특정 파일 유형을 나타내는 여러 변수가 정의되어 있습니다. 예를 들어, Dll 변수는 확장자가 .dll인 출력 디렉토리의 모든 파일을 나타냅니다.

<ItemGroup>
  <Dlls Include="$(OutDir)*.dll" />
</ItemGroup>

Copy 작업은 모든 .dll 파일을 디렉토리, 특히 빌드 중인 패키지 폴더에 복사하는 것입니다.

<Copy SourceFiles="@(Dlls)" DestinationFolder="$(SolutionDir)..\packages\CustomNodeModel\bin\" />

Dynamo 패키지에는 일반적으로 Dynamo 사용자 지정 노드 및 이미지와 같은 기타 자산을 위한 dyf 및 extra 폴더가 있습니다. 이러한 폴더를 생성하려면 MakeDir 작업을 사용해야 합니다. 이 작업은 폴더가 없는 경우 폴더를 생성합니다. 이 폴더에 파일을 수동으로 추가할 수 있습니다.

<MakeDir Directories="$(SolutionDir)..\packages\CustomNodeModel\extra" />

프로젝트를 빌드하면 이제 프로젝트 폴더에 이전에 생성한 src 폴더와 나란히 packages 폴더가 생성됩니다. packages 디렉토리 내에는 패키지에 필요한 모든 항목이 포함된 폴더가 있습니다. 또한 pkg.json 파일을 패키지 폴더에 복사하여 Dynamo가 패키지를 로드하도록 해야 합니다.

  1. AfterBuild 대상이 생성한 새 패키지 폴더

  2. 프로젝트가 있는 기존 src 폴더

  3. AfterBuild 대상에서 생성된 dyf 및 extra 폴더

  4. pkg.json 파일을 수동으로 복사합니다.

이제 Dynamo의 패키지 관리자를 사용하여 패키지를 게시하거나 Dynamo의 패키지 디렉토리(<user>\AppData\Roaming\Dynamo\1.3\packages)에 직접 복사할 수 있습니다.

이제 소스 파일이 별도의 폴더에 있으므로 Visual Studio의 CustomNodeModel.csproj 파일에 AfterBuild 대상을 추가합니다. 이렇게 하면 필요한 파일이 새 패키지 폴더에 복사됩니다. 텍스트 편집기()에서 CustomNodeModel.csproj 파일을 열고, 닫는 </Project> 태그 앞에 빌드 대상을 넣습니다. 이 AfterBuild 대상은 모든 .dll, .pbd, .xml 및 .config 파일을 새 bin 폴더에 복사하고 dyf 및 추가 폴더를 생성합니다.

Atom
프로젝트 파일 이동하기
AfterBuild 대상 넣기
파일 복사하기