为什么msbuild尝试从错误的路径复制?

为什么msbuild尝试从错误的路径复制?,msbuild,windows-store-apps,Msbuild,Windows Store Apps,我尝试使用MSBuild构建Windows应用商店应用程序 C:\Windows\Microsoft.NET\Framework\v4.0.30319>MSBuild.exe /t:build /p:Configurat ion=Release;Platform=x86 E:\MyApp.W8.csproj /logger:FileLogger,Microsoft.Build.Engine;logfile=E:/log/test.txt /p:OutputPath=E:/result 我

我尝试使用MSBuild构建Windows应用商店应用程序

C:\Windows\Microsoft.NET\Framework\v4.0.30319>MSBuild.exe /t:build /p:Configurat
ion=Release;Platform=x86 E:\MyApp.W8.csproj /logger:FileLogger,Microsoft.Build.Engine;logfile=E:/log/test.txt /p:OutputPath=E:/result
我得到了这个错误:

“E:\MyApp.W8.csproj “(构建目标)(1)-> (CopyGeneratedXaml目标)-> C:\ProgramFiles(x86)\MSBuild\Microsoft\WindowsXaml\v12.0\8.1\Microsoft.Wind ows.UI.Xaml.Common.targets(476,9):错误MSB3021:无法复制文件“obj\x86”\ 发布\E:\MyApp.Shared\App.xbf“至”E:\result\E:\MyApp.Shared\App.xbf“。给定路径的格式不正确 支持。[E:\MyApp.W8.csproj]

我不知道MSBuild为什么尝试使用

obj\x86\Release\E:\MyApp.Shared\App.xbf
instead obj\x86\Release\App.xbf
或App.xbf的绝对路径。

根据,在.projitems文件中,您可以找到以下代码:

<ApplicationDefinition Include="$(MSBuildThisFileDirectory)App.xaml">
<SubType>Designer</SubType>
</ApplicationDefinition>

设计师
将其替换为:

<ApplicationDefinition Include="$(MSBuildThisFileDirectory)App.xaml">
<SubType>Designer</SubType>
<Link>App.xaml</Link>
</ApplicationDefinition>

设计师
App.xaml

OutputPath属性被严重损坏。很难看出这是如何发生的,您必须发布详细的构建跟踪以获得猜测。路径名中的正斜杠是一个红旗,Windows上的正确斜杠是一个反斜杠。但是当我尝试的时候没有出错。谢谢你的回答。我找到了一个决定。我尝试从其他位置使用MSBuild。MSBuild从VS编译,它编译的所有内容都是正确的。