繁体   English   中英

升级到VS2010时MSBuild无法构建引用的项目

[英]MSBuild failing to build referenced projects when upgrading to VS2010

我最近将包含一些C#代码项目和ASP.net网站项目的.Net 3.5解决方案升级到了VS2010(来自VS2008)。 它在VS中可以正常构建和运行,但是尝试通过TeamCity在带有MSBuild 4.0的服务器上构建它时遇到了一些问题。 似乎未构建从网站引用的项目。 在我升级到VS2010,MSbuild 4.0和Windows SDK 7.1之前,这一切工作正常。

在用于从teamcity构建的msbuild脚本中,我为网站定义了项目引用,如下所示:

  <ProjectReference Include="..\src\trunk\DataAccess\DataAccess.csproj">
     <Project>{C43242F4-7286-4BEC-9A27-001D6FC14860}</Project>
     <Name>DataAccess</Name>
  </ProjectReference>

当我尝试运行生成脚本时,收到一条错误消息,提示试图将dll文件从引用项目的bin文件夹复制到网站的bin文件夹时找不到dll文件。 之所以发生这种情况,是因为实际上根本没有构建过引用的项目(项目目录中没有bin文件夹)。

有谁知道这可能是什么原因吗? 我对MSbuild不太了解,所以我可能忽略了一些重要的东西。 如果没有项目输出,MSbuild是否会自动尝试构建引用的项目?

感谢您的帮助!

我需要更多信息来指导您执行此操作,但是请尽量不要添加

/toolsversion:3.5

到您的msbuild调用。

我在该网站上发现了另一则描述您完全相同的问题的帖子。 我也遇到了同样的问题。 MSDN网站上的此博客描述了问题和解决方法。 基本上,这是解决方案文件的限制,这些文件不是MSBuild格式,而只是精美的文本文件。 真正的事实是,需要在项目文件中指定依赖关系,而这些文件本身不属于解决方案文件。 嗯...只是阅读了链接,它对它的解释比我在这里的回答要好一百倍。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM