C# 将Microsoft.AspNetCore.Hosting.WindowsServices与.Net Core 2.x一起使用

C# 将Microsoft.AspNetCore.Hosting.WindowsServices与.Net Core 2.x一起使用,c#,.net,asp.net-core,.net-core,C#,.net,Asp.net Core,.net Core,我正在尝试使用Windows服务来托管一个简单的ASP.Net Core web应用程序,目标是.Net Core 2.x,微软对此进行了详细介绍 这对于文档来说应该很简单,但我什么也做不到,因为这个包似乎不适用于任何版本的.Net Core(NuGet页面说它取决于.Net标准)。简单地打开一个项目将导致VisualStudio在NuGet restore中陷入困境,而不会出现任何错误消息(我必须手动终止VS进程,因为关闭VS将导致它停止响应)。运行dotnetrestorefrom命令将导致

我正在尝试使用Windows服务来托管一个简单的ASP.Net Core web应用程序,目标是.Net Core 2.x,微软对此进行了详细介绍

这对于文档来说应该很简单,但我什么也做不到,因为这个包似乎不适用于任何版本的.Net Core(NuGet页面说它取决于.Net标准)。简单地打开一个项目将导致VisualStudio在NuGet restore中陷入困境,而不会出现任何错误消息(我必须手动终止VS进程,因为关闭VS将导致它停止响应)。运行dotnetrestorefrom命令将导致cmd卡在“恢复XXX的包”位置

同样的事情也发生在ASP.Net官方文档中。我想这对我来说一定意味着一个特定于机器或平台的问题,但我已经尝试过各种(新的)虚拟机,我已经没有想法了。到目前为止唯一有效的方法是,将.Net Framework作为目标,并显式列出所有包引用,而不是使用Microsoft.AspNetCore.all

我使用的是VS2017 15.7.6。在此问题上的任何帮助都将不胜感激

更新
在我在VS2017中安装Azure开发工作负载后,这个问题神奇地消失了。我以前已经有ASP.Net和.Net核心工作负载,所以我真的不知道是哪个组件起了作用,但它确实解决了问题。

是的,这是正确的。仅在windows上运行。您必须直接针对所需的每个软件包,因为Microsoft.AspNetCore.App(.NET Core>=2.1)和Microsoft.AspNetCore.All(.NET Core>=1.1我刚刚遇到了类似的问题。我们有多个Nuget软件包商店,其中一个遇到了证书问题

我通过执行以下操作修复了它:

  • 在解决方案资源管理器中右键单击项目依赖项,然后单击管理Nuget软件包

  • 在软件包管理器中的“已安装”选项卡中,您应该会看到该软件包,选择Microsoft.AspNetCore.Hosting.WindowsServices软件包。它将显示版本0,并显示无法下载的某些指示

  • 您还可以在右上角看到指向一个自定义Nuget商店的包源文件。将包源文件更改为ALL。这将导致窗口刷新,然后您可能会看到正确的版本和更新按钮

  • 现在单击更新按钮进行更新。我的版本现在是2.1.1

  • 现在查看项目文件,它将包引用更改为:

    <PackageReference Include="Microsoft.AspNetCore.Hosting.WindowsServices" Version="2.1.1" />
    
    
    
    看起来您在nuget:\@vasily.sib上遇到了一些新问题:\@vasily.sib我现在没有带我的开发环境,但我怀疑这是问题所在,因为它在针对.Net Framework时运行良好。非常感谢!虽然MS自己针对这个特定问题的文档和示例代码在这种情况下不起作用,但看起来确实很奇怪。
    <!-- CSPROJ CONDITIONAL REFERENCE -->
    <PackageReference Include="Microsoft.AspNetCore.Hosting.WindowsServices" Version="2.1.1" Condition="'$(TargetFramework)' == 'net471'" />
    
    // c#-code compiler directive
    #if net471
    using Microsoft.AspNetCore.Hosting.WindowsServices;
    #endif
    
    <PackageReference Include="Microsoft.AspNetCore.Hosting.WindowsServices" Version="2.1.1" />