Asp.net core ASP.NET Core 2:缺少应用程序说明

Asp.net core ASP.NET Core 2:缺少应用程序说明,asp.net-core,asp.net-core-2.0,Asp.net Core,Asp.net Core 2.0,我正在发布ASP.NET Core 2应用程序,并看到以下错误 Error: An assembly specified in the application dependencies manifest (MyApp.deps.json) was not found: package: 'Microsoft.ApplicationInsights.AspNetCore', version: '2.1.1' path: 'lib/netstandard1.6/Microsoft

我正在发布ASP.NET Core 2应用程序,并看到以下错误

Error:
  An assembly specified in the application dependencies manifest (MyApp.deps.json) was not found:
    package: 'Microsoft.ApplicationInsights.AspNetCore', version: '2.1.1'
    path: 'lib/netstandard1.6/Microsoft.ApplicationInsights.AspNetCore.dll'

  This assembly was expected to be in the local runtime store as the application was published using the following target manifest files:
    aspnetcore-store-2.0.0-linux-x64.xml;aspnetcore-store-2.0.0-osx-x64.xml;aspnetcore-store-2.0.0-win7-x64.xml;aspnetcore-store-2.0.0-win7-x86.xml
我在开发环境中没有看到这个错误。所以我不确定出了什么问题。有没有办法解决这个问题

更新

我安装了SDK(我只安装了运行时),一切都开始工作了。但不确定这是否是最好的解决方案

此程序集应位于本地运行时存储区中

出现此错误是因为未安装ASP.NET核心运行时存储。您有两个选项来修复此问题

  • 安装ASP.NET核心运行时存储。它与.NET核心SDK捆绑在一起,这就是安装SDK修复此问题的原因。您也可以通过在此处下载来仅安装存储,而不安装SDK:

  • 不要使用运行时存储修剪。通过在csproj文件中设置此属性,可以禁用修剪

  • 更新日期:2018年6月25日


    此答案仅适用于ASP.NET核心2.0项目。在ASP.NET Core 2.1中,不再有运行时存储。

    此处详细讨论了此问题: 这似乎与将项目中的Microsoft.AspNetCore.All更新为2.0.3或更高版本有关

    在上面的讨论之后,似乎有一段时间的解决方案是在主机上安装最新的.NET Core SDK。但至少在当前的SDK 2.1.300中,这并没有解决我的问题

    我的解决方案是,在我的主项目的.csproj中添加以下行:

      <PropertyGroup>
        <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
      </PropertyGroup>
    
    
    假的
    

    通过这一行,所有框架依赖项都将打包到发布文件夹中!使用此开关,我的一个项目的发布数据从15MB增加到55MB。但至少在找到更好的解决方案之前,这是可行的。

    确保您的项目具有与Microsoft.NETCore.App(您的项目目标框架)和(默认情况下,对于.NET Core 2.0项目包括NuGet依赖项)或(对于.NET Core 2.1+项目)相匹配的版本


    如果您曾经将项目目标框架从.NET Core 2.0更新到.NET Core 2.1,请记住相应地更新NuGet依赖项,因为它们不会自动更新。

    我想在@pallxk的答案中添加一些内容。他给了我解决问题的提示。 我熟悉使用VisualStudio,但不太熟悉VS代码

    对于VisualStudio,我没有任何问题,但是对于他提到的VS代码,我必须手动更新Nuget依赖项。我不知道在哪里更新它们。 它们位于我的项目文件夹下,位于:

    .vscode/launch.json
    
    我必须更新

    "program": "${workspaceFolder}/Ghaseel.RestApi/bin/Debug/netcoreapp2.1/myProject.dll
    
    对此

     "program": "${workspaceFolder}/Ghaseel.RestApi/bin/Debug/netcoreapp2.2/myProject.dll
    

    我希望这可以帮助其他人解决他们的问题。

    我通过安装nuget软件包解决了这个问题


    “Microsoft.AspNetCore.ApplicationInsights.HostingStartup”

    这也适用于我。其他解决方案不起作用。仅安装运行时存储并不能解决此问题。。。然而,你的第二个选择是。下载链接在摆姿势时(8个月前)是准确的。从那时起,我们已经有多个2.0.x补丁更新。您需要从获取最新的2.0.x运行时存储下载。我更新了答案以反映这一点。此答案仅适用于2.0.x版本。在撰写本文时,2.1.x还不存在。我更新了答案,以反映它仅适用于此处的2.0.x.Netcore 2.1.1。我使用了MSBuild,但设置了相同的属性
    /p:PublishWithAspNetCoreTargetManifest=false
    ,它确实解决了问题!第二个选择是itu拯救了我的一天:)我将我的项目从.NET Core 2.0迁移到了.NET Core 2.1,这个解决方案对我很有效。
    "program": "${workspaceFolder}/Ghaseel.RestApi/bin/Debug/netcoreapp2.1/myProject.dll
    
     "program": "${workspaceFolder}/Ghaseel.RestApi/bin/Debug/netcoreapp2.2/myProject.dll