我有一个面向 NET Core 2.1 的 Web Api 应用程序。当我将 Microsoft.AspNetCore.All nuget 包升级到 v2.1.1 时,应用程序停止运行。
我的网络:
$ dotnet --version
2.1.300
在我的 Windows 应用程序事件查看器中,我首先看到这个警告:
The directory specified for caching compressed content C:\inetpub\temp\IIS Temporary Compressed Files\myproj.Logs.HostedApi AppPool is invalid. Static compression is being disabled.
然后我有两个这个错误:
Log Name: Application
Source: IIS Express AspNetCore Module
Date: 6/21/2018 4:15:11 PM
Event ID: 1000
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: CarbonVic
Description:
Application 'MACHINE/WEBROOT/APPHOST/MYPROJ.LOGS.HOSTEDAPI' with physical root 'C:\myproj\Code\myproj-moonshot\apps\myproj.Logs\myproj.Logs.HostedApi\' failed to start process with commandline 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\Extensions\Microsoft\Web Tools\ProjectSystem\VSIISExeLauncher.exe -argFile "C:\Users\me\AppData\Local\Temp\tmp27D2.tmp"', ErrorCode = '0x80004005 : 0.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="IIS Express AspNetCore Module" />
<EventID Qualifiers="0">1000</EventID>
<Level>2</Level>
<Task>0</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2018-06-21T20:15:11.470607900Z" />
<EventRecordID>9844</EventRecordID>
<Channel>Application</Channel>
<Computer>machinename</Computer>
<Security />
</System>
<EventData>
<Data>Application 'MACHINE/WEBROOT/APPHOST/myproj.LOGS.HOSTEDAPI' with physical root 'C:\myproj\Code\myproj-moonshot\apps\myproj.Logs\myproj.Logs.HostedApi\' failed to start process with commandline 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\Extensions\Microsoft\Web Tools\ProjectSystem\VSIISExeLauncher.exe -argFile "C:\Users\me\AppData\Local\Temp\tmp27D2.tmp"', ErrorCode = '0x80004005 : 0.</Data>
</EventData>
</Event>
我店里的每一台机器都有这个问题。我们不得不恢复到 Microsoft.AspNetCore.All v2.0.8 以使其再次运行。
有趣的是:我们的任何机器上都没有 c:\inetpub,而且从来没有。
此外,我尝试在 IISExpress 和自托管上运行它;它不会以任一配置文件开头。
我在这里错过了什么吗?有谁知道是否有解决方法?
帮助总是受到赞赏。
伏
最佳答案
好吧,好消息是 .NET Core 2.1.1 现已发布,因此您可以从 https://dot.net 安装新的 SDK 版本 (2.1.301)。 . :)
现在关于您遇到的问题:元包通过引用由 SDK 安装的共享框架来工作。由于未安装 2.1.1 的 SDK (2.1.301),您的应用程序崩溃了。
您还提到在 NuGet 窗口中,更新的包已经可见。确实如此。单独的包已经发布。他们只是无法解决,因为没有安装 Microsoft.AspNetCore.All 元包版本 2.1.1。
旁注:建议针对 Microsoft.AspNetCore.App 而不是 .All 。还可以从 SDK 推断版本号,因此您也可以将其删除。
见:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/metapackage?view=aspnetcore-2.1#migrate
关于asp.net-core - Microsoft.AspNetCore.All 2.1.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50977064/