나는 우분투 VM 인 publishes
과 CakeBuild가 포함 된 ASP.Net 핵심 응용 프로그램 2.0을 가지고 있습니다.우분투에서 asp.net 핵심 응용 프로그램을 실행할 때 예외가 발생합니다.
출력은 .Net Core SDK가 이미 설치된 다른 Ubuntu VM으로 이동됩니다. 내가 dotnet
메인 DLL 파일을하려고하면
는 다음과 같은 예외가 발생합니다 :
이Unhandled Exception: System.IO.FileLoadException: Could not load file or assembly 'System.Runtime, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Aborted (core dumped)
이 내가 게시 된이 개 nuget 패키지를 사용하고있는 응용 프로그램에서 내 build.cake
Task("Clean")
.Does(() =>
{
CleanDirectory(binaryDir);
CleanDirectory(objectDir);
CleanDirectory(publishDir);
});
Task("Restore")
.IsDependentOn("Clean")
.Does(() =>
{
DotNetCoreRestore(solutionPath);
});
Task("Build")
.IsDependentOn("Restore")
.Does(() => {
var settings = new DotNetCorePublishSettings
{
Configuration = configuration, // Release
OutputDirectory = publishDir,
Runtime = runtime // linux-x64
};
DotNetCorePublish(solutionPath, settings);
});
입니다 Windows 컴퓨터 (.Net Standard 2.0)에서이 문제가 발생하면 dotnet
이 실패합니까? 그렇다면 Linux와 호환되는 nuget 패키지를 사용하는 방법은 무엇입니까?
온도 솔루션
지금은 트릭을하고있다 네이티브 후에 .NET CLIpublish
명령을 사용하여 응용 프로그램을 구축하고 들어
; 하지만 지금은 케잌 빌드가 문제가 해결 될 때까지 여기서 내 경우에는 쓸모가 없다는 것을 의미합니다. 추가 조사와
그것은 바보 같은 질문처럼 들리 겠지만, 실행 시간의 버전이 일치합니까? 두 VM에서'dotnet --version'을 실행하면 같은 출력을 얻게됩니까? –
둘 다 동시에 설치되었으므로 최신 버전 인'2.0.2 '입니다. – Ayman
허. 정말 이상합니다. –