.NET 5 ClickOnce在PublishDir中创建重复部署

cetgtptt  于 2023-01-18  发布在  .NET
关注(0)|答案(1)|浏览(125)

我使用msbuild(版本17.1.0+ae57d105c,来自VS 2022开发人员命令提示符)通过命令行将ClickOnce .NET 5应用程序发布到UNC路径。

>msbuild /t:publish -p:PublishProfile=.\Properties\PublishProfiles\ClickOnceProfile.pubxml /p:PublishDir=\\some\unc\path\

正如预期的那样,这会将大量文件移动到\\some\unc\path。如果我在.NET 5之前这样做,我通常会期望像这样的文件

\\some\unc\path\setup.exe
\\some\unc\path\Application Files\MyApp_1_0_0_9\SomeLibrary.dll.deploy

但是如果我使用上面的命令,或者如果我从Visual Studio发布,我也会在PublishDir的根目录下得到一堆文件,

\\some\unc\path\SomeLibrary.dll

考虑到在早期版本中没有发生这种情况,我假设这些文件是多余的,它们只是噪音。但是为什么要创建它们?我可以删除它们吗?

ilmyapht

ilmyapht1#

根据我的经验,当你在.pubxml配置文件中将<PublishDir><PublishUrl>设置为相同的值时,就会出现这种错误。
PublishUrl是IDE中应用程序的发布位置。
以及
MSBuild系统使用PublishDir选项指定输出位置
这听起来像是如果你想同时从VS和命令行发布,你应该同时设置这两个标签。但是如果你把它们都设置成相同的值,你会得到所有重复的文件。如果我把<PublishDir>设置成某个随机的临时目录,当我点击VS中的Publish按钮时,我不再得到重复的文件。
我已经向微软提出了这个问题。

相关问题