ASP.NET的Core 2:缺少ApplicationInsights

问题描述 投票:23回答:4

我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-core asp.net-core-2.0
4个回答
34
投票

这种组装预计将在本地运行时存储区

因为你尚未安装ASP.NET的核心运行存储您收到此错误。你有两个选择来解决这个问题。

  1. 安装ASP.NET核心运行商店。它捆绑了.NET SDK的核心,这也就是为什么在安装固定这个SDK。您也可以只安装店,没有SDK,点击这里下载它:https://www.microsoft.com/net/download/all
  2. 不要使用运行店修剪。您可以通过在你的csproj文件中设置该属性禁用修剪。
    <PropertyGroup>
        <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
    </PropertyGroup>

您还可以在通过这个命令行。

dotnet publish /property:PublishWithAspNetCoreTargetManifest=false

更新日期:2018年6月25日

这个答案只适用于ASP.NET 2.0的核心项目。在ASP.NET 2.1的核心,没有运行时存储了。


12
投票

请确保您的项目有Microsoft.NETCore.App匹配的版本(你的项目目标框架)和Microsoft.AspNetCore.All(用于.NET 2.0的核心项目包括默认的NuGet依赖)或Microsoft.AspNetCore.App(用于.NET核心2.1+项目)。

如果你曾经更新你的项目目标框架.NET从核2.0到.NET 2.1的核心,记得更新你的NuGet相应的依赖关系,因为他们将不会得到自动更新。


9
投票

这个问题在这里非常详细地讨论:https://github.com/dotnet/coreclr/issues/13542这似乎是关系到你的项目更新Microsoft.AspNetCore.All到2.0.3或更高版本。

按照上面的讨论,似乎有一段时间了一个解决方案是在主机计算机上安装最新的.NET核心SDK。但是,至少在目前的SDK 2.1.300这并没有解决这个问题对我来说。

对我来说,解决办法是,以下行添加到我的主要项目的.csproj:

  <PropertyGroup>
    <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
  </PropertyGroup>

随着该行的所有框架依赖将被打包到发布文件夹!我的一个项目的公布的数据,从15 MB增长到55 MB与此开关。但至少这个工作,直到有一个更好的解决方案。


0
投票

我想补充一点,以@ pallxk的答案。他给我解决我的问题的提示。我熟悉使用Visual Studio,但不那么熟悉VS代码。

与Visual Studio我没有问题,但如果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

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

© www.soinside.com 2019 - 2024. All rights reserved.