2011-11-09 9 views
1

내 VS 2010 솔루션은 1 개의 원시 C++ dll 프로젝트와 1 개의 C# 래퍼 프로젝트라고 가정합니다. 내가 원하는 건 순수한 마법이야. 내 솔루션에는 32 비트 및 64 비트 구성이 있는데, 주로 네이티브 DLL 때문입니다. 나는 C# dll이 C# dll의 리소스로 32 비트 및 64 비트 원시 DLL을 모두 포함 할 수 있도록 솔루션을 구축하고자합니다. 그렇다면 런타임에서 적절한 비트를 풀고 사용합니다 (문제는 아닙니다). 내 질문은 빌드하기 전에 비트 솔루션을 구성하여 두 비트를 모두 빌드 한 다음 C# 프로젝트에 넣는 방법입니다.3 단계 Visual Studio 빌드

아마도 영리한 .msbuild 스크립트를 할 수는 있지만 VS에서 멋지게 빌드 할 수는 없습니다.

답변

1

는 다음과 같은 작업을 수행 할 수 있습니다

  1. 솔루션 탐색기에서 C# 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 언로드 프로젝트를 선택합니다.
  2. 프로젝트가 언로드됩니다. 프로젝트를 다시 마우스 오른쪽 버튼으로 클릭하고 편집 * .csproj을 선택하십시오.
  3. 이제 Visual Studio 내에서 프로젝트 파일을 편집 할 수 있습니다. * .csproj 파일에는 간단한 XML 형식이 있습니다.
  4. </Project> 닫기 태그 바로 앞에 * .csproj 파일로 이동하십시오.
  5. 는 다음 줄을 추가합니다 :
 
    <Target Name="BeforeBuild"> 
     <MSBuild Projects=".\..\NativeLibrary.sln" Properties="Configuration=Release;Platform=x64"/> 
     <MSBuild Projects=".\..\NativeLibrary.sln" Properties="Configuration=Release;Platform=Win32"/> 
    </Target> 

아니, 당신은 솔루션 탐색기에서 프로젝트 파일을 마우스 오른쪽 단추로 클릭하고 다시로드 프로젝트를 선택할 수 있습니다.

또한 32 비트 및 64 비트 * .dll 파일을 리소스에 추가해야합니다. 나는이 접근 방식을 오랫동안 사용해 왔으며 완벽하게 작동합니다. Visual Studio 내에서 C# 프로젝트를 빌드 할 수 있습니다.

+0

안녕하세요! 좋은 생각! –

+0

실제로 나는 해결책이 거대한만큼 에있는 전체 해결책 대신에 그 원시 프로젝트의 빌드를하고 있습니다. 그런 다음 기본 설정을 자원 하위 폴더에 복사하기위한 미리 빌드 단계. 그것은 작동합니다! –

+0

다시 한번 감사 드리며, 빌드 서버와 완벽하게 통합 된 모든 것, 이제는 꿈꿔 왔던 마법의 어셈블리를 가지고 있습니다. –

관련 문제