我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的核心运行存储您收到此错误。你有两个选择来解决这个问题。
<PropertyGroup>
<PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
</PropertyGroup>
您还可以在通过这个命令行。
dotnet publish /property:PublishWithAspNetCoreTargetManifest=false
更新日期:2018年6月25日
这个答案只适用于ASP.NET 2.0的核心项目。在ASP.NET 2.1的核心,没有运行时存储了。
请确保您的项目有Microsoft.NETCore.App匹配的版本(你的项目目标框架)和Microsoft.AspNetCore.All(用于.NET 2.0的核心项目包括默认的NuGet依赖)或Microsoft.AspNetCore.App(用于.NET核心2.1+项目)。
如果你曾经更新你的项目目标框架.NET从核2.0到.NET 2.1的核心,记得更新你的NuGet相应的依赖关系,因为他们将不会得到自动更新。
这个问题在这里非常详细地讨论: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与此开关。但至少这个工作,直到有一个更好的解决方案。
我想补充一点,以@ 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
我希望这可以帮助别人解决他们的问题。