Deployment 如何从命令行设置ClickOnce应用程序的PublishUrl

Deployment 如何从命令行设置ClickOnce应用程序的PublishUrl,deployment,command-line,msbuild,clickonce,Deployment,Command Line,Msbuild,Clickonce,我正在开发ClickOnce应用程序。我正在尝试使用以下命令行发布它: msbuild Project.csproj /t:Publish /p:configuration=release; 问题是我想在配置的同时设置一些其他属性,比如“PublishUrl”等等 我试过这个: msbuild Project.csproj /t:Publish /p:configuration=release;publishurl="\\sdmm\publish\" 它已成功生成,但该项目的输出将复制到ap

我正在开发ClickOnce应用程序。我正在尝试使用以下命令行发布它:

msbuild Project.csproj /t:Publish /p:configuration=release;
问题是我想在配置的同时设置一些其他属性,比如“PublishUrl”等等

我试过这个:

msbuild Project.csproj /t:Publish /p:configuration=release;publishurl="\\sdmm\publish\"
它已成功生成,但该项目的输出将复制到app.publish文件夹中应用程序的调试文件夹


我该怎么处理这件事?谢谢。

尝试将您的目标更改为

msbuild/target:清理、重新生成、发布


因为如果只使用“Publish”目标,您要覆盖的属性(PublishUrl)没有嵌入到应用程序文件中。

您可以从命令行设置任何需要的属性,但在执行此操作之前,您需要在一些文本编辑器(记事本等)中打开.csproj文件。查找要编辑的属性。在您的情况下,它是发布url。从csproj文件中删除此属性

那你就可以这么做了

msbuild /target:clean,publish /p:publishurl=c:\publish_location\

您必须在发布项目之前清理它。

非常感谢,如果没有您对清理/重建的解释,我不会在另一个答案中注意到它,并会继续敲打我的头。我阅读了答案,但认为我知道得更好。直到我读了你的解释,我才明白为什么我需要先清理以覆盖该属性。