나는 .NET Core projects입니다. Mac과 Linux에서 최신 Mono 및 .NET Core 1.0.1 툴 (MSBuild 기반 csproj 툴링)을 사용하여 Travis CI를 사용하여 빌드하려고합니다. 타겟은 netstandard1.6.1
, net45
및 net461
입니다. 내가 Travis CI에서 얻을 오류 :Building VS 2017 MSBuild csproj Linux에서 Mono를 사용하는 프로젝트
/usr/share/dotnet/sdk/1.0.1/Microsoft.Common.CurrentVersion.targets(1111,5) : 오류 MSB3644 : 프레임 워크 에 대한 참조 어셈블리 ".NETFramework, Version = v4.5"를 찾을 수 없습니다. 이 문제를 해결하려면 SDK 또는 타겟팅 팩을이 프레임 워크 버전으로 설치하거나 응용 프로그램을 SDK 또는 타겟팅 팩이 설치된 프레임 워크 버전으로 조정하십시오. 어셈블리는 GAC (Global Assembly Cache)에서 으로 해결되며 참조 어셈블리 대신 사용됩니다. 따라서 어셈블리가 의도 한 프레임 워크를 대상으로 정확하게 이 아닐 수도 있습니다.
모노는 VS 2017 MSBuild 기반 csproj 프로젝트를 지원하지 않습니까? 프로젝트를 만들려면 어떻게해야합니까? 두 가지 옵션은 내가 알고 있어요까지로, 여기가
, 당신은 윈도우 (AppVeyor)를 사용한다 : 여기에 최신 beta release
내 .travis.yml 파일에 대한 링크처럼 보인다. Linux의 .NET Core Tooling은 .NET Core 프로파일에 대해 컴파일 할 수 있어야합니다. Mono는 필요하지 않으며 .NET Framework (알림)가 아닙니다. –
@LexLi : 프로젝트의 .NET 코어 빌드 (적어도)가 Linux에서 작동하는지 테스트하려고 할 때 정말 안좋은 해결책입니다. 나는 지금이 문제에 정확히 직면하고있다. 나는 대답을 추가 할 수 있기를 바라고있다. –
@JonSkeet 확실히 Windows 및 .NET Framework에서만 실행되도록 테스트 케이스를 제한하는 나쁜 솔루션입니다. 그러나 Mono는이 경우 .NET Framework를 대신 할 자격이 없습니다. 테스트 케이스에 이상한 점을 추가 할 수 있고 오픈 소스 프로젝트에서 자주 직면합니다. –