为什么我的 C# 项目文件没有源文件的 Compile Inlcude 元素

Why does my C# project file have no Compile Inlcude elements for source files

我将一个针对 .NET Framework 的库移植到了 .NET Standard 2.0 库中。这两个项目文件(.NET Framework 库和 .NET Standard 库)位于同一个文件夹中,并且共享大部分源代码。一切正常。

最近,我向这两个项目添加了一个新的 class。当我在文本编辑器中查看 .NET Standard 项目文件时,我发现没有源文件包含 (Compile Include=")。它似乎只是从项目文件夹和子文件夹中获取文件。唯一的源文件条目在项目文件是不需要的源文件的 Compile Remove= 条目。

即使我将源文件从项目文件夹添加到项目,也没有新的 Compile Include 元素添加到项目文件,但新文件出现在解决方案资源管理器中。

这正常吗? .NET Framework 项目对于它使用的所有源文件都有一个 Compile Include 元素。

Is this normal?

是的。由于 default includes and excludes for compile items and embedded resources,"SDK style" 个项目最终变得 更紧凑。由于你们都添加了 C# 文件等,不再与同事发生合并冲突。

真是个好东西。