首页 文章

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

提问于
浏览
1

我最近将包含一些C#代码项目和ASP.net网站项目的.Net 3.5解决方案升级到VS2010(来自VS2008) . 它在VS内部构建并运行良好,但是当我尝试使用MSCild 4.0通过TeamCity在我的服务器上构建它时遇到了一些问题 . 似乎没有构建从网站引用的项目 . 在升级到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>

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

有没有人知道可能导致这种情况的原因?我对MSbuild不是很有经验,所以我可能忽略了一些重要的东西 . 如果没有项目输出存在,MSbuild会不会自动尝试构建引用的项目?

感谢任何帮助!

2 回答

  • 1

    我需要一些更多的信息来指导你这一点,但我最重要的是尝试添加

    /toolsversion:3.5
    

    你的msbuild电话 .

  • 0

    我在这个网站上发现了另一篇文章,描述了你完全相同的问我也遇到了同样的问题 . MSDN网站上的这个blog描述了问题和解决方法 . 基本上它是解决方案文件的限制,它不是MSBuild格式,而只是一个奇特的文本文件 . 而真实的是,需要在项目文件中指定依赖项,而不是解决方案文件 . 啊...只是阅读它解释它的链接比我的答案好一百倍 .

相关问题