msbuild何时使用新的“隐式” csproj格式确定要构建的文件列表?

问题描述 投票:0回答:1

Visual Studio 2019,具有新的“隐式” C#项目格式,在其中csproj中不包含文件。

[有一个预生成作业,它生成两个.cs文件,但是显然,当msbuild调用csc(在预生成事件之后)时,它不会在要编译的文件列表中包括这两个文件。我什至尝试引入30秒延迟。因此,看起来msbuild会在运行pre-build事件之前修复文件列表。

很显然,在第一次之后这不是问题,但是在构建服务器或新的开发设备上并不是很好。

是否有一个干净的解决方案?

c# msbuild csproj
1个回答
0
投票

找到了解决方案:

将InitialTargets属性添加到项目元素:

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

将PreBuild更改为此

<Target Name="Generation">
  <Exec Command="whatever" />
</Target>
© www.soinside.com 2019 - 2024. All rights reserved.