.net core 由于NU1100,无法发布自包含的dotnet核心应用程序

.net core 由于NU1100,无法发布自包含的dotnet核心应用程序,.net-core,.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 NU110

我已将.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.
dotnet发布-r win-x64
Microsoft(R)针对.NET核心构建引擎版本16.4.0+e901037fe
版权所有(C)微软公司。版权所有。
\IPLauncher.csproj:错误NU1100:无法解析“.NETCoreApp,版本=v3.1”的“Microsoft.NETCore.App.Runtime.win-x64(=3.1.2)”。
\IPLauncher.csproj:错误NU1100:无法解析“.NETCoreApp,版本=v3.1”的“Microsoft.WindowsDesktop.App.Runtime.win-x64(=3.1.2)”。
\IPLauncher.csproj:错误NU1100:无法解析“.NETCoreApp,版本=v3.1”的“Microsoft.AspNetCore.App.Runtime.win-x64(=3.1.2)”。
\IPLauncher.csproj的还原在179,65毫秒内失败。
如果很重要,我的csproj文件如下所示:

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

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

</Project>

温克斯
netcoreapp3.1
真的
假的

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

似乎应用程序的
nuget restore
命令无法还原某些包

这有很多原因,但你可以做一些基础研究来确定为什么是庚型。以下是一些提示:

  • 清除所有NuGet缓存
    dotnet NuGet locals all--Clear
  • 检查您试图还原的NuGet包是否可以从NuGet.org网站访问。nuget package manager官方网站有不同的API(v2/v3),所以您必须检查是否使用了最新版本的API
  • 如果您使用的是非官方门户的NuGet软件包,请验证用于恢复NuGet软件包的NuGet服务器是否可访问
  • 这些设置放置在默认的
    nuget.config
    文件中,此处:
    %appdata%\nuget\nuget.config


    请注意,如果对项目/解决方案使用custom nuget.config,它将覆盖默认的nuget设置。此文件可能包含一些中断还原命令的设置。因此,请先查看它。

    尝试
    dotnet restore
    谢谢您的建议!不幸的是,
    dotnet restore
    没有报告任何错误,但是
    dotnet publish
    的问题仍然存在。在没有定义运行时
    dotnet publish
    的情况下进行发布时是否会出现错误?不,不使用-r可以正常工作。如果我使用它,它也可以正常工作:
    dotnetpublish-rwin-x64——没有自包含的
    。我就是不能创建一个独立的exe.Hmm。您是否尝试在计算机上重新安装.NET Core?还是清除NuGet缓存?