【发布时间】:2013-05-20 17:25:27
【问题描述】:
在为 .Net 4.0 Web 应用程序自动升级项目文件以与 Visual Studio 2012 一起使用后,起初一切正常,但是在编译时我遇到了很多这样的错误:
说明:找不到源文件“..\..\..\..\..\文件路径”
文件:CSC
当尝试在“VS2012 的开发人员命令提示符”中使用 MSBuild(仅传递项目完整路径,没有其他参数)进行构建时,我遇到了基本相同的错误:
“CSC:错误 CS2001:找不到源文件 'x'”
所有错误都指向位于我们代码分支中不同深度的其他 Web 应用程序项目中的 链接文件(aspx、cs 等)(这就是为什么所有的 '....\'在路径的开头)
对我来说,这似乎是文件长度的问题,前段时间我在使用 MSBuild 在我们的 CI 服务器上构建项目时遇到了同样的问题,我能够通过操纵在使用自定义脚本构建项目文件之前,无需移动分支或减少项目的深度,我不需要移动任何东西,当时重要的是使用 Visual Studio 2010 的开发人员可以编译一切都没有问题。我从中了解到,使用 MSBuild 编译/构建与使用 DevEnv/VS 不同,例如 MSBuild 不支持构建 Setup 项目,而 DevEnv 支持。
由于现在 VS 2012/DevEnv 2012 正在发生这种情况,再加上 VS 2012 不再支持设置项目(如 msbuild),再加上 VS/DevEnv 在文件长度方面存在同样的问题,看起来 VS 2012 它的最后在后台使用 msbuild 或更紧密地集成,但是我没有找到任何文章来证实这一点。
由于多种原因(大型代码库、大量项目、风险、时间、工作量等),现在不能更改分支结构/更改项目深度。
有人在 Visual Studio 2012 中对此问题有替代解决方案或修复方法吗?
问候,
P.D.:顺便说一句,我已经检查了这篇文章 MSBuild error with linked files,但就像我在更改路径之前所说的那样,它现在不是一个选项。
【问题讨论】:
-
同样的问题,希望有人能解释一下这个问题
-
同样的问题,除了源文件是''(空)
-
我知道这个问题是大约一年前发布的,但我可以确认在 Visual Studio 2012 中将源文件作为链接文件引用时存在文件长度问题。我遇到了这个问题几天前神秘地,无法弄清楚为什么解决方案资源管理器能够显示文件,但编译器(CSC)在找到它们时遇到问题。希望这在 VS2013 中得到修复?
-
这个项目的工作区映射设置如何?您是否映射团队项目根目录?分支根?分支根目录的子文件夹?去哪儿? d:\? c:\users\username\documents\Visualstudio2012\Projects?可能有办法摆脱这种情况。至于您关于更紧密的 msbuild 集成的问题,是的,Visual Studio 越来越好地集成到 msbuild 中。
标签: visual-studio-2012 msbuild