Msbuild 干燥<;TargetFramework>;有时工作,有时休息

Msbuild 干燥<;TargetFramework>;有时工作,有时休息,msbuild,Msbuild,在我写这篇文章时,我们整个组织中有2497个.csproj文件 我们有一个政策,那就是“一切”。这意味着为了降低成本和提高质量,我们升级了整个组织。当我们决定升级任何东西时,所有东西都应该升级 现在,在升级到.NET Core 3.0(这是一个痛苦的过程)之后,我们决定干燥,并从输出文件夹中删除Debug\netcoreapp3.0。我们希望这一政策适用于我们所有的项目。因此我们提出了这个ProjectDotNetCore.targets文件: <Project Sdk="Microsof

在我写这篇文章时,我们整个组织中有2497个
.csproj
文件

我们有一个政策,那就是“一切”。这意味着为了降低成本和提高质量,我们升级了整个组织。当我们决定升级任何东西时,所有东西都应该升级

现在,在升级到.NET Core 3.0(这是一个痛苦的过程)之后,我们决定干燥
,并从输出文件夹中删除
Debug\netcoreapp3.0
。我们希望这一政策适用于我们所有的项目。因此我们提出了这个
ProjectDotNetCore.targets
文件:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <OutputPath>.\bin</OutputPath>
    <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
    <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
    <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
    <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
  </PropertyGroup>

</Project>
问题是,有时有效,有时无效,我们收到以下错误:

错误NETSDK1013无法识别目标框架值“netcoreapp3.0”。它可能拼错了。如果不是,则必须明确指定TargetFrameworkIdentifier和/或TargetFrameworkVersion属性


为什么它具有非确定性行为?我们希望能够从中心位置设置所有项目的
。我们如何调试它?

您找到答案了吗?
<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup Label="Globals">
    <SccProjectName>SAK</SccProjectName>
    <SccProvider>SAK</SccProvider>
    <SccAuxPath>SAK</SccAuxPath>
    <SccLocalPath>SAK</SccLocalPath>
  </PropertyGroup>

  <PropertyGroup>
    <AssemblyName>HolismCommerce.Sammerce.AdminService</AssemblyName>
    <RootNamespace>HolismCommerce.Sammerce.AdminService</RootNamespace>
  </PropertyGroup>

  <Import Project="$(OrganizationProjectsRoot)\Framework\ProjectDotNetCore.targets" />

</Project>