.net core .NET Core只能以可移植的形式发布

.net core .NET Core只能以可移植的形式发布,.net-core,.net Core,我正在开发一个.NET5WPF应用程序。当我发布它时,我只能让可移植目标运行时工作,而不能让win-x64或win-x86工作。我不确定原因,因为我使用的nuget包引发了异常。虽然我不认为这是错的,但它抓住了一个例外并重新引用了另一个 通过比较已发布的portable和win64文件,我发现在deps.json文件中更改此选项可以解决问题。我还必须复制System.Private.ServiceModel.dll 从 到 但真正的解决办法是什么? 我不太明白publish的作用,但它似乎忘记了

我正在开发一个.NET5WPF应用程序。当我发布它时,我只能让可移植目标运行时工作,而不能让win-x64或win-x86工作。我不确定原因,因为我使用的nuget包引发了异常。虽然我不认为这是错的,但它抓住了一个例外并重新引用了另一个

通过比较已发布的portable和win64文件,我发现在deps.json文件中更改此选项可以解决问题。我还必须复制System.Private.ServiceModel.dll

但真正的解决办法是什么? 我不太明白publish的作用,但它似乎忘记了win-x86和win-64的System.Private.ServiceModel.dll。

我尝试将System.Private.ServiceModel手动添加为nuget软件包,但这并没有改变任何事情。

我认为只需将ServiceModel软件包更新到至少4.5,问题就迎刃而解了。这些有帮助:以及
  "System.Private.ServiceModel/4.4.4": {
    "dependencies": {
      "Microsoft.NETCore.Platforms": "2.0.0",
      "System.Net.Http.WinHttpHandler": "4.4.0",
      "System.Reflection.DispatchProxy": "4.4.0",
      "System.Security.Principal.Windows": "4.5.0"
    }
  },
  "System.Private.ServiceModel/4.4.4": {
    "dependencies": {
      "Microsoft.NETCore.Platforms": "2.0.0",
      "System.Net.Http.WinHttpHandler": "4.4.0",
      "System.Reflection.DispatchProxy": "4.4.0",
      "System.Security.Principal.Windows": "4.5.0"
    },
    "runtimeTargets": {
      "runtimes/win7/lib/netstandard2.0/System.Private.ServiceModel.dll": {
        "rid": "win7",
        "assetType": "runtime",
        "assemblyVersion": "4.1.2.4",
        "fileVersion": "4.6.26720.1"
      }
    }
  },