VS2010项目依赖关系

问题描述:

我在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项目”)上显示错误,但其他事情正在按照我的意图工作

如何添加依赖关系?通过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