2010-11-08 276 views
2

我在VS2010中有一個C++項目和一個c#項目,它將使用這個C++項目輸出(它使用p/invoke)。我想我可以通過編輯解決方案中的「Project dependencies ...」來確保C++項目在c#項目之前生成,但這似乎沒有任何效果,build build上的構建不考慮此設置(我正在使用TeamCity來引導構建整個解決方案文件的MSBuild文件)VS2010項目依賴關係

我認爲這用於工作,VS2010有什麼變化?或者我應該以另一種方式聲明依賴關係?

SOLUTION:訣竅是手工編輯VS2010外的csproj文件並添加這樣一段:

<ProjectReference Include="..\CobraLib\CobraLib.vcxproj"> 
    <Project>{598506DA-91DA-4F25-948D-A14CB16ABEBA}</Project> 
    <Name>CobraLib</Name> 
    <ReferenceOutputAssembly>false</ReferenceOutputAssembly> 
</ProjectReference> 

,在正確的順序進行構建服務器過程中我的項目。唯一需要注意的是,VS2010在項目引用(「不是.NET項目」)上顯示錯誤,但其他事情正在按照我的意圖工作

回答

1

如何添加依賴關係?通過VS2010或編輯一些文件?

+0

我最初使用VS2010對話框,並驗證解決方案文件包含postProject設置。 – 2010-11-08 11:31:41

+0

檢查C#項目的項目文件,它應該有一個元素,將C++項目指定爲依賴項。您也可以嘗試增加TeamCity中的msbuild詳細程度並查看日誌,這可能會讓您知道發生了什麼。我假設這是在你的本地機器上工作。 – radical 2010-11-08 11:36:01

+0

我應該手動編輯那一個嗎?我似乎無法使用VS2010添加它(也許我已經安裝了一些禁止添加的AddReference擴展)。我希望C++項目的輸出結束在c#文件的輸出旁邊。 – 2010-11-08 11:37:55