2017-03-10 1 views
3

저는 "dotnet publish"로 프로젝트를 빌드하기 위해 요즘에 릴리스 된 최신 .NET SDK (1.0.1, https://dotnetcli.blob.core.windows.net/dotnet/Sdk/1.0.1/dotnet-dev-debian-x64.1.0.1.tar.gz에서 설치)를 사용하고 있습니다. 이 질문의 범위를 벗어나는 이유 때문에, 나는 약간 오래된 버전의 프레임 워크 (최신 1.0.4 및 1.1.0과 반대로 1.0.3 및 1.1.0)에서 실행되도록 응용 프로그램을 빌드하려고합니다.dotnet 특정 프레임 워크 버전으로 빌드

<TargetFramework>netcoreapp1.1</TargetFramework>을 지정하는 프로젝트를 빌드하면 버전 1.1.0 만 설치된 플랫폼에서 실행되지 않습니다.

내 csproj에서 프로젝트 당 기준으로 <RuntimeFrameworkVersion>1.1.0</RuntimeFrameworkVersion>을 지정할 수있는 것처럼 보이지만 대상이 dotnet이되도록 설정할 수있는 방법은 있습니까 netcoreapp1.1 기본적으로 대상은 1.1.0입니까?

+0

사용중인 IDE/버전/언어는 무엇입니까? – JamesFaix

+0

IDE, 모든 텍스트 파일, 명령 행에서 dotnet 1.0.1을 통해 모든 작업 수행. 기음#. – nlawalker

+0

"1.0.3 및 1.1.0"은 무엇을 의미합니까? 두 버전은 무엇을 의미합니까? LTS vs 현재 버전의 런타임에 대해 이야기하고 있습니까? 아니면 런타임 버전과 SDK 버전에 대해 이야기하고 있습니까? –

답변

4

<TargetFramework>netcoreapp1.1</TargetFramework> 만 지정하면 응용 프로그램이 최신 런타임 인 ​​1.1.1을 기본값으로 지정합니다. Here's the PR이 변경되었습니다. 여기서 언급 한 것처럼, 이것은 응용 프로그램이 더 이상 1.1.0 만있는 컴퓨터에서 실행되지 않음을 의미합니다.

기본적으로 netcoreapp1.1을 대상으로하는 dotnet을 구성 할 수있는 방법은 무엇입니까? 당신이 dotnet publish를 호출 할 때

  1. , 당신은 MSBuild를 매개 변수로 전달할 수 있습니다 내 마음에

, 당신은 두 가지 옵션이 있습니다. 따라서 당신은 말할 수 있습니다 dotnet publish -c Release /p:RuntimeFrameworkVersion=1.1.0

  • Directory.Build.props 파일을 추가 할 수 있습니다.이 파일은 기본 속성으로 사용할 .csproj 개 파일 위에 추가 할 수 있습니다. 이 .props 파일은 그 아래의 모든 파일 .csproj에 자동으로 가져 오기됩니다. 당신은 거기에 일반적인 속성을 설정할 수 있습니다

    <Project> 
        <PropertyGroup> 
        <RuntimeFrameworkVersion>1.1.0</RuntimeFrameworkVersion> 
        </PropertyGroup> 
    </Project> 
    
  • 을 이제 모든 프로젝트를 자동으로 설정이 속성을 얻을 것이다.

    관련 문제