C# 将Microsoft.AspNetCore.Hosting.WindowsServices与.Net Core 2.x一起使用
我正在尝试使用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。在此问题上的任何帮助都将不胜感激 更新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命令将导致
在我在VS2017中安装Azure开发工作负载后,这个问题神奇地消失了。我以前已经有ASP.Net和.Net核心工作负载,所以我真的不知道是哪个组件起了作用,但它确实解决了问题。是的,这是正确的。仅在windows上运行。您必须直接针对所需的每个软件包,因为Microsoft.AspNetCore.App(.NET Core>=2.1)和Microsoft.AspNetCore.All(.NET Core>=1.1我刚刚遇到了类似的问题。我们有多个Nuget软件包商店,其中一个遇到了证书问题 我通过执行以下操作修复了它:
<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" />