2013-02-05 82 views
0

我有一個非託管C++項目,我需要將其輸出複製到.NET項目的輸出文件夾。確保C++項目在使用msbuild的.NET項目之前構建

Visual Studio 2010不會讓我將C++項目添加爲項目引用,因爲它不會創建託管程序集。

我試着加入以下手動將.csproj的文件,但它似乎並沒有工作(例如運行的MSBuild時,在.NET項目正在建設第一)

<ItemGroup> 
    <ProjectReference Include="pathtoproject\unmanaged.vcxproj"> 
     <ReferenceOutputAssembly>false</ReferenceOutputAssembly> 
     <Private>False</Private> 
    </ProjectReference> 
</ItemGroup> 

如何我可以強制執行此構建依賴以使用命令行構建嗎?

回答

2

因此,原來的例子我給的這個問題其實是正確的。這將導致C++項目首先構建。

我的問題是,我試圖掛鉤.NET項目中的MSBuild目標,然後複製C++ dll,並且我在該項目的構建週期中做得太早(我正在關注BeforeBuild)。使用'BeforeCompile'目標反而似乎在構建週期中已經足夠晚了,以至於它可以正常工作。

1

將兩個項目添加到解決方案中,並使用項目依賴項確保首先構建非託管項目。您可以從命令行構建解決方案。

Project Dependencies Dialog

+0

+1我只想說,只是將其指定爲依賴項。 –

+0

事實上,在csproj文件中使用會導致項目依賴關係出現在Visual Studio中 –