Kev*_*ice 33 migration msbuild tfs2008 tfs2012
我们正在从TFS 2008升级到TFS 2012.我们的大多数应用程序都是.net 3.5应用程序.
我们已经设置了TFS 2012环境并完成了迁移过程.当我们尝试构建.net 3.5应用程序时,我们收到错误:
csc error cs0006 metadata file could not be found........
Run Code Online (Sandbox Code Playgroud)
如果我们使用.net 3.5应用程序,将其升级到.net 4.x,然后再次运行构建,它运行正常.
我无法升级迁移过程中的每个应用程序.我是否可能在迁移或构建框中缺少支持3.5的内容?
我在构建服务器上安装了VS 2008,2010,2012.我安装了.net框架等.
任何帮助都有帮助.
Vas*_*nan 15
通过右键单击解决方案资源管理器中的项目并选择"项目依赖项",可以在Visual Studio 2012中指定项目依赖项和项目构建顺序.通过执行此操作,您的解决方案文件将得到修复.在我的情况下,我能够解决此问题,而无需手动编辑解决方案文件.
我们在分支之间切换这些问题(有重大变化).当它发生时我推荐以下内容:
遵循这一套将做"清洁解决方案"应该做的事情,但事实并非如此.基本上我们试图删除任何在任何地方缓存的任何机会(这是这些问题的最常见原因).
当然,您的里程可能会有所不同,但对于我们来说,120个项目和130万行代码重构会定期抛出这个问题,并且可靠地解决它.
小智 7
我也有同样的错误。
解决方法是检查路径。在我的路径中,一个文件夹的名称为abc%20ert。这是从 git 同步空间而来的。Visual Studio路径中的%20有问题。删除这个就解决了这个问题。
小智 6
这似乎是由Visual Studio解决方案文件不包含项目依赖项的事实引起的.我发现我必须手动编辑解决方案文件以使用项目GUID设置依赖项.
例如,在我们的解决方案文件中,我们有这样的事情:
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectA", "ProjectA\ProjectA.csproj", "{61C9C7C3-B5B4-4C00-8AE0-B49D21B3D77C}"
EndProject
Run Code Online (Sandbox Code Playgroud)
请注意,没有指定依赖项.它需要更像这样,其中指定的其他GUID是ProjectA所依赖的项目的GUID.
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectA", "ProjectA\ProjectA.csproj", "{61C9C7C3-B5B4-4C00-8AE0-B49D21B3D77C}"
ProjectSection(ProjectDependencies) = postProject
{EB576061-5081-4ED5-9146-1B20C893E51E} = {EB576061-5081-4ED5-9146-1B20C893E51E}
{A469F4BA-8BAA-4F14-BFC8-4D49F93C3E40} = {A469F4BA-8BAA-4F14-BFC8-4D49F93C3E40}
{03FAB21D-C077-499B-9B19-67971791D369} = {03FAB21D-C077-499B-9B19-67971791D369}
{F5E0C7B8-36AD-46B0-A74D-9C48516E208A} = {F5E0C7B8-36AD-46B0-A74D-9C48516E208A}
EndProjectSection
EndProject
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅此帖子.
小智 5
在每个项目=> 属性屏幕中检查目标框架版本。如果它低于参考项目或文件中使用的值,则会出现错误,因为编译器不知道如何处理更高版本的框架。
根据您的描述,您有一个依赖框架 v4.0 作为目标。
一一更改依赖项目标框架,直到您的项目构建为止。
如果它是第 3 方的闭源依赖项,请要求他们提供 .net 3.5 目标。
没有解决方法。
| 归档时间: |
|
| 查看次数: |
60692 次 |
| 最近记录: |