2017-04-10 10 views
4

Visual Studio 2017을 사용하여 .NET Framework를 사용하여 ASP.NET 핵심 사이트를 만들었습니다. (project.json은 없으며 VS2017 프로젝트는 .cproj 임)대상 프레임 워크를 지정하지 않고 '게시'대상을 지원하지 않습니다.

내 대상은 x64 Windows 2008R2입니다. 그러나

<Project Sdk="Microsoft.NET.Sdk.Web" ToolsVersion="15.0"> 
    <PropertyGroup> 
    <TargetFrameworks>net462</TargetFrameworks> 
    <RuntimeIdentifier>win7-x64</RuntimeIdentifier> 
    </PropertyGroup> 
    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> 
    <PlatformTarget>x64</PlatformTarget> 
    <OutputPath>bin\Debug</OutputPath> 
    <DefineConstants>TRACE;DEBUG</DefineConstants> 
    </PropertyGroup> 
    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> 
    <PlatformTarget>x64</PlatformTarget> 
    <OutputPath>bin\Release</OutputPath> 
    <Optimize>True</Optimize> 
    </PropertyGroup> 
    ... 

, 그리고 내가이 오류를

C 얻고 게시하려고 할 때 만 .NET 4.6.2을 표적으로하고있는 동안 : 내 .cproj의 시작은 다음과 같다 \ 프로그램 파일 (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ Sdks \ Microsoft.NET.Sdk \ buildCrossTargeting \ Microsoft.NET.Sdk.targets (31,5) : 오류 : '게시'대상 지정하지 않고 지원되지 않습니다. 목표 프레임 워크. 현재 프로젝트는 여러 프레임 워크를 대상으로하므로 게시 된 애플리케이션의 프레임 워크를 지정하십시오. 온라인 솔루션을 찾고있는 동안

, 나는 같은 문제를 가진 사람을 발생하지만, 실제로는하지만, 내 경우에는 내가 심지어 그것을 얻고 왜 확실하지 않다, 많은 목표를 가지고있다.

아이디어가 있으십니까?

답변

8

.csproj 템플릿 (https://github.com/dotnet/sdk/issues/251)이 변경되었습니다. 대신 <TargetFrameworks>의 당신은 <TargetFramework>를 사용해야합니다 :

<PropertyGroup> 
    <TargetFramework>net462</TargetFramework> 
    <RuntimeIdentifier>win7-x64</RuntimeIdentifier> 
</PropertyGroup> 
+0

와우. 귀하의 게시물 없이는 그것을 발견하지 못했을 것입니다. –

+0

이 정보는 현재 유효 기간이 만료되었을 수 있습니다. 나는'TargetFrameworks' (복수형)이 컴백을했다고 믿는다. 참조 : https://stackoverflow.com/questions/42747977/how-do-you-multi-target-a-net-core-class-library-with-csproj – tjrobinson

+1

@tjrobinson 필요하면 'TargetFrameworks'를 사용해야합니다. 하나 이상의 프레임 워크를 지원해야합니다. 그렇지 않으면'TargetFramework'를 사용하거나'dotnet run'과 같이 앱을 실행할 때'프로젝트가 여러 프레임 워크를 타겟으로합니다 .'라는 오류 메시지가 나타납니다. – Set