Dotnet --version
说2.2.402
dotnet --info
说
.NET Core SDK (reflecting any global.json):
Version: 2.2.402
Commit: c7f2f96116
Runtime Environment:
OS Name: centos
OS Version: 7
OS Platform: Linux
RID: centos.7-x64
Base Path: /usr/share/dotnet/sdk/2.2.402/
Host (useful for support):
Version: 2.2.8
Commit: b9aa1abc51
.NET Core SDKs installed:
2.2.402 [/usr/share/dotnet/sdk]
.NET Core runtimes installed:
Microsoft.NETCore.App 2.2.8 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
我正在尝试在Linux服务器上发布我的应用程序,直到我最后一次尝试使用以下命令在服务器上更新应用程序为止,服务器在服务器上的运行情况都很好。
dotnet publish -c release -o ${API_PUBLISH_DIR}
构建过程引发以下错误
找不到任何兼容的框架版本 找不到指定的框架'Microsoft.AspNetCore.All',版本'2.2.0'。 -检查应用程序依赖性并确定安装在以下位置的框架版本: / usr / share / dotnet / -安装.NET Core必备软件可能有助于解决此问题: https://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409 -.NET Core框架和SDK可以从以下位置安装: https://aka.ms/dotnet-download
更多错误详细信息是
/usr/share/dotnet/sdk/NuGetFallbackFolder/microsoft.aspnetcore.mvc.razor.viewcompilation/2.2.0/build/netstandard2.0/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.targets(64,5) :错误MSB3073:命令“” / usr / share / dotnet / dotnet“ exec --runtimeconfig” /home/vng-dev/vng-web/vast-webapplication/vast_webapplication/WebAPI/bin/Release/netcoreapp2.2/WebAPI .runtimeconfig.json“ --depsfile” /home/vng-dev/vng-web/vast-webapplication/vast_webapplication/WebAPI/bin/Release/netcoreapp2.2/WebAPI.deps.json“” / usr / share / dotnet / sdk / NuGetFallbackFolder / microsoft.aspnetcore.mvc.razor.viewcompilation / 2.2.0 / build / netstandard2.0 / netcoreapp2.0 / Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.dll“ @” obj / Release / netcoreapp2.2 / microsoft.aspnetcore.mvc.razor.viewcompilation.rsp“”退出,代码为150。[/ home / vng-dev / vng-web / vast-webapplication / vast_webapplication / WebAPI / WebAPI.csproj]
我没有在.csproj文件中提到AspNetCore的版本。全部都是这样
<PackageReference Include="Microsoft.AspNetCore.All" />
还尝试将AspNetCore.All
替换为AspNetCore.App
,如下所示
<PackageReference Include="Microsoft.AspNetCore.App" />
这也无济于事
我还尝试安装AspNetCore.MVC.Razor.ViewCompilation程序包,但没有帮助
编辑:
答案 0 :(得分:1)
对我来说,构建命令中存在问题
我正在使用此命令-> dotnet publish -c release -o ${API_PUBLISH_DIR}
对此进行了更改,并添加了用于构建它的平台
dotnet publish -c release -r linux-x64 -o ${API_PUBLISH_DIR}
最近对.net核心的自动更新弄乱了某些内容,无法弄清版本依赖性在哪里。
答案 1 :(得分:0)
您的项目具有Microsoft.AspNetCore的引用。所有引用均与以下内容类似。但是,在删除dotnet core 2.0 Microsoft.AspNetCore.All
之后,您已经安装了dotnet core2.2.x。 Microsoft.NETCore.App的版本比该软件包要轻得多。
我建议安装dotnet core 2.0。在这种情况下,您无需更改项目。
<PackageReference Include="Microsoft.AspNetCore.All"/>
答案 2 :(得分:0)
< PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.6"/>
<PropertyGroup>
<PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
</PropertyGroup>