msbuild – 如果不指定目标框架,则不支持“发布”目标

使用Visual Studio 2017,我使用.NET Framework创建了一个ASP.NET Core站点.
(我没有project.json,我有一个带.cproj的VS2017项目)

我的目标是x64 Windows 2008R2.我的.cproj的开头如下:

<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>
  ...

但是,虽然我只针对.NET 4.6.2,但当我尝试发布时,我收到此错误

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Sdks\Microsoft.NET.Sdk\buildCrosstargeting\Microsoft.NET.Sdk.targets(31,5): Error : The ‘Publish’ target is not supported without specifying a target framework. The current project targets multiple frameworks,please specify the framework for the published application.

在网上寻找解决方案时,我遇到了遇到同样问题的人,但他们实际上有很多目标,但是,在我的情况下,我不确定为什么我会得到它.

有任何想法吗?

解决方法

.csproj模板( https://github.com/dotnet/sdk/issues/251)发生了变化.
而不是< TargetFrameworks>你需要使用< TargetFramework>:
<PropertyGroup>
   <TargetFramework>net462</TargetFramework>
   <RuntimeIdentifier>win7-x64</RuntimeIdentifier>
 </PropertyGroup>

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...