Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2012 MSBuild找不到自动生成的文件,路径为双反斜杠_Visual Studio 2012_Build_Path_Msbuild - Fatal编程技术网

Visual studio 2012 MSBuild找不到自动生成的文件,路径为双反斜杠

Visual studio 2012 MSBuild找不到自动生成的文件,路径为双反斜杠,visual-studio-2012,build,path,msbuild,Visual Studio 2012,Build,Path,Msbuild,我在Visual Studio 2012中有一个解决方案,其中包含一些可以在我的机器上正确构建的项目,但在服务器上构建过程失败,因为它找不到自动生成的文件。我做了一些测试,发现在服务器上,路径的处理方式有所不同,如果路径包含多个相邻的分隔符,则无法找到文件 生成的路径如下所示: "..\..\obj\x64\Release\\\MyProject\\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs" 在我的计算机上(以

我在Visual Studio 2012中有一个解决方案,其中包含一些可以在我的机器上正确构建的项目,但在服务器上构建过程失败,因为它找不到自动生成的文件。我做了一些测试,发现在服务器上,路径的处理方式有所不同,如果路径包含多个相邻的分隔符,则无法找到文件

生成的路径如下所示:

"..\..\obj\x64\Release\\\MyProject\\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs"
在我的计算机上(以及其他计算机上),多重分隔符(
\
)的计算结果正确,因为只有一个分隔符,并且MSBuild成功,但在服务器上没有成功。此外,如果手动更改路径以替换多个斜杠,则可以正常工作

MSBuild中是否有我遗漏的选项


注意:我们正在使用Windows 7/VS2012,服务器是Windows server 2008 R2

使用MSBuild失败的是什么(任务、项目组…),以及MSBuild的哪个版本(来自哪个.NET framework)?您是否尝试过使用命令行(使用
cmd.exe
和一个简单的
for
循环)。我曾尝试在Windows 7和Server 2008 R2上通过命令行,并在MSBuild(2.0、4.0 x86和x64)中使用一个简单的
,将其解析为
%(ItemGroupName.FullPath)
。所有操作都很好,没有重复分隔符的问题。我们在所有计算机上都使用MSBuild v3.5。在命令提示中,我们还可以使用多个分隔符,即“cd.\\\\Desktop”。您可以尝试将字符串解析为限定路径:$([System.IO.path]::GetFullPath('$(PropertyName)')),然后确认该文件是否存在于服务器上的位置。是否可以粘贴项目文件的(相关)部分?也就是说,MSBuild出错的部分和(可能)定义相关项和/或属性的部分。