由于 NU1100,无法发布独立的 dotnet-core 应用程序

Chr*_*phK 5 .net-core

我已将 .net 应用程序移植到 .netcore 并希望将其作为独立应用程序发布。不幸的是,这不起作用:

dotnet publish -r win-x64
Microsoft (R) Build Engine version 16.4.0+e901037fe for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

<Path>\IPLauncher.csproj : error NU1100: Unable to resolve 'Microsoft.NETCore.App.Runtime.win-x64 (= 3.1.2)' for '.NETCoreApp,Version=v3.1'.
<Path>\IPLauncher.csproj : error NU1100: Unable to resolve 'Microsoft.WindowsDesktop.App.Runtime.win-x64 (= 3.1.2)' for '.NETCoreApp,Version=v3.1'.
<Path>\IPLauncher.csproj : error NU1100: Unable to resolve 'Microsoft.AspNetCore.App.Runtime.win-x64 (= 3.1.2)' for '.NETCoreApp,Version=v3.1'.
  Restore failed in 179,65 ms for <Path>\IPLauncher.csproj.
Run Code Online (Sandbox Code Playgroud)

如果这很重要,我的 csproj 文件如下所示:

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">

  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <UseWindowsForms>true</UseWindowsForms>
    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
  </PropertyGroup>

</Project>
Run Code Online (Sandbox Code Playgroud)

编辑添加:最奇怪的部分是我的同事可以为具有相同配置的同一个项目发布一个自包含的exe - 所以我的配置似乎有些问题。

pic*_*ino 8

您的应用程序的命令似乎nuget restore无法恢复某些包。

造成这种情况的原因有很多,但您可以进行基础研究来确定为什么会发生这种情况。这里有一些提示:

  1. 清除所有 NuGet 缓存dotnet nuget locals all --clear
  2. 检查您尝试恢复的 NuGet 包是否可以从 nuget.org 网站访问。官方 nuget 包管理器网站有不同的 API (v2/v3),因此您必须检查是否使用最新版本的 API。
  3. 如果您使用的 NuGet 包不是来自官方门户,请验证用于恢复 nuget 包的 NuGet 服务器是否可访问。

这些设置放置在nuget.config此处的默认文件中:%appdata%\NuGet\NuGet.config

请注意,如果您为项目/解决方案使用自定义 nuget.config,它将覆盖默认的 nuget 设置。该文件可能包含一些破坏恢复命令的设置。所以先检查一下。