我正在尝试使用特定的发布配置文件pubxml文件调用"dotnet publish",如下所示:
但是,我尝试的所有内容似乎都会导致默认行为,而/ p:PublishProfile部分将被忽略.
dotnet publish /p:PublishProfile="MyFolderProfile"
Run Code Online (Sandbox Code Playgroud)
不起作用,并且没有记录错误,构建到"/ obj"下的默认位置.
我注意到,故意不正确的命令具有相同的结果,例如:
dotnet publish /p:PublishProfile="MyFolderProfile-XXXXX"
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么? - 任何指针将不胜感激!
A. *_*Don 14
不久前我遇到了同样的问题。我设法通过调用来修复它:
dotnet build [projectname] /p:PublishProfile=[PublishProfile]
Run Code Online (Sandbox Code Playgroud)
Sau*_*001 14
我的回复晚了。我的解决方案有一个简单的 .NET Core 控制台应用程序ConsoleAppCore.csproj。我曾经使用Visual Studio IDE名称生成发布配置文件,FolderProfile.pubxml然后以下命令对我有用:
相对路径 - 从解决方案根
dotnet publish ConsoleAppCore\ConsoleAppCore.csproj /p:PublishProfile=ConsoleAppCore\Properties\PublishProfiles\FolderProfile.pubxml
Run Code Online (Sandbox Code Playgroud)
绝对路径 - 从任何位置
dotnet publish "C:\work\ConsoleAppCore\ConsoleAppCore.csproj" "/p:PublishProfile=C:\work\ConsoleAppCore\Properties\PublishProfiles\FolderProfile.pubxml"
Run Code Online (Sandbox Code Playgroud)
在 Azure 开发运营上
任务名称=.NET Core
任务版本=2
命令= 发布
项目路径=我把它留空了
参数=
$(System.DefaultWorkingDirectory)\ConsoleAppCore\ConsoleAppCore.csproj /p:PublishProfile=$(System.DefaultWorkingDirectory)\ConsoleAppCore\Properties\PublishProfiles\FolderProfile.pubxml --configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)\ConsoleAppCore-Publish\
Run Code Online (Sandbox Code Playgroud)
在Azure Dev Ops构建管道方案中,我已将输出重定向到$(Build.ArtifactStagingDirectory). 我还有一个Publish Artifact任务,它被配置为使用暂存目录变量。
我使用了发布配置文件 XML 文件,因为我想要一个文件来管理Azure Devops上的完整行为。所有参数都依赖于单个文件简化了 Azure 上的管理。
Azure Dev ops - Artifacts Explorer
该Publish Artifact任务为我创建了一个掉落,这就是它的外观。请注意,资源管理器中的文件名与任务中
指定的名称和--output选项一致dotnet publish
Lan*_*kin 10
文件夹发布存在一个未解决的(截至 2021 年 10 月)问题,具有类似的症状https://github.com/dotnet/sdk/issues/12490
我现在使用的解决方法是手动编辑*.pubxmlVS.Net 生成的文件,使PublishUrl和PublishDir键具有相同的值。
这样就可以dotnet publish -p:PublishProfile=...按预期工作了。
您可能需要完整的路径,例如
dotnet publish -c Release /p:PublishProfile=Properties\PublishProfiles\FolderProfile.pubxml
Run Code Online (Sandbox Code Playgroud)