【问题标题】:Dotnet publishing via cmd not possible无法通过 cmd 发布 dotnet
【发布时间】:2020-06-30 14:26:19
【问题描述】:

我正在通过 Visual Studio 成功发布 .NET Core 应用程序,但无法通过命令行(或使用 VS 2019 的开发人员命令提示符)执行相同操作。

我正在使用 VS2019 生成的发布配置文件并执行以下操作:

dotnet publish -p:PublishProfile=Properties\PublishProfiles\MyProfile.pubxml

MyProfile 在哪里:

<?xml version="1.0" encoding="utf-8"?>

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
   <PublishProtocol>FileSystem</PublishProtocol>
   <Configuration>Release</Configuration>
   <Platform>Any CPU</Platform>
   <TargetFramework>netcoreapp3.1</TargetFramework>
   <PublishDir>..\Build\Release\publish\</PublishDir>
   <RuntimeIdentifier>win-x64</RuntimeIdentifier>
   <SelfContained>true</SelfContained>
   <PublishSingleFile>False</PublishSingleFile>
   <PublishReadyToRun>False</PublishReadyToRun>
   <PublishTrimmed>False</PublishTrimmed>
 </PropertyGroup>
</Project>

而我总是得到的错误是:

MyCustom.dll。无法加载类型 来自程序集的“Microsoft.Build.Utilities.AppDomainIsolatedTask” 'Microsoft.Build.Utilities.Core,版本=15.1.0.0,文化=中性, PublicKeyToken=b03f5f7f11d50a3a'。确认 声明是正确的,程序集及其所有依赖项都是 可用,并且该任务包含一个公共类,该类实现 Microsoft.Build.Framework.ITask。

我错过了什么?

【问题讨论】:

  • 你试过dotnet publish -p:PublishProfile=MyProfile吗?
  • 是的,同样的错误
  • 如果添加/p:DeployOnBuild=true会怎样?您在正确的文件夹中吗?
  • 我想我终于设法做到了,使用:msbuild /restore /t:Publish /p:RuntimeIdentifier=win-x64 /p:configuration=Release
  • 发布您自己的答案并接受它以关闭此问题。

标签: c# .net-core visual-studio-2019 publish


【解决方案1】:

我找到了解决方法,而不是修复方法。

如果我们使用msbuild发布,我可以得到与dotnet publish相同的结果,并且在命令行中运行成功:

msbuild /restore /t:Publish /p:RuntimeIdentifier=win-x64 /p:configuration=Release

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-28
    • 2021-09-15
    • 2016-07-24
    • 1970-01-01
    • 2019-01-28
    • 2019-07-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多