使用MSBuild输出发布到意外路径

时间:2016-04-21 00:03:39

标签: .net msbuild visual-studio-2015

我使用以下命令发布我的ClickOnce应用程序:

D:\Builds\Client.App>"C:\Program Files (x86)\MSBuild\14.0\Bin\MsBuild.exe" /m "Client\Client.csproj" /target:publish /property:VisualStudioVersion=14.0;ApplicationVersion=%version%;OutputPath="Client\bin\Release"

这最终会创建预期的文件,但在此路径中:

D:\Builds\Client.App\Client\bin\Releaseapp.publish

请注意" app.publish"?

之前缺少路径分隔符

我已经尝试过指定" PublishUrl"在命令行上也无济于事:

D:\Builds\Client.App>"C:\Program Files (x86)\MSBuild\14.0\Bin\MsBuild.exe" /m "Client\Client.csproj" /target:publish /property:Configuration=Release;Platform="Any CPU";VisualStudioVersion=14.0;ApplicationVersion=%version%;OutputPath="%cd%\Client\bin\Release";PublishUrl="%cd%\Client\bin\Release\app.publish"

我使用了%cd%以确保不使用相对路径。

1 个答案:

答案 0 :(得分:0)

在\ Release

之后添加另一个斜杠
D:\Builds\Client.App>"C:\Program Files (x86)\MSBuild\14.0\Bin\MsBuild.exe" /m "Client\Client.csproj" /target:publish /property:VisualStudioVersion=14.0;ApplicationVersion=%version%;OutputPath="Client\bin\Release\"

如果这不起作用,那么您可以使用PublishDir属性显式指定最终的clickonce输出文件夹(如果未设置PublishDir,msbuild只会将默认的'app.publish'文件夹附加到OutputRoot)。