为什么 Roslyn 解决方案中的 .csproj 文件不引用 C# 文件?
Why does a .csproj file in Roslyn solution not reference the C# files?
我开始尝试使用 Roslyn,并且 运行 遇到了我无法理解构建 Roslyn 的 Visual Studio 解决方案如何工作的情况。
有一个名为 "CodeAnalysis.csproj" 的 C# 项目文件。在我从 GitHub 下载的文件中,它位于文件 "E:\GitHub\dotnet\roslyn\src\Compilers\Core\Portable\CodeAnalysis.csproj" 中。在 Visual Studio 解决方案资源管理器中,它位于编译器 - 核心 - CodeAnalysis。
据我所知,这个项目编译了数百个 C# 源文件,其中大部分在大约 30 个子文件夹中。但我的问题是我在 .csproj 文件中看不到任何指示它应该编译所有这些 C# 源文件的内容。
我猜我遗漏了一些明显的东西,一些暗示 "build everything in this folder and all sub-folders" 的 .csproj 文件的新功能,但我就是看不到它。
是的,您错过了一些东西。这是一个 .net 标准项目。这些项目不引用 included 文件,而是引用 excluded.
您可以创建一个新的 .net Standard 项目并添加 classes。您会看到,classes 未在 .csproj
文件中引用。如果您使用 Visual Studio,您可以在解决方案资源管理器中右键单击 class,然后选择 "Exclude From Project",这将在 .csproj
文件中创建一个引用 remove
属性。
我开始尝试使用 Roslyn,并且 运行 遇到了我无法理解构建 Roslyn 的 Visual Studio 解决方案如何工作的情况。
有一个名为 "CodeAnalysis.csproj" 的 C# 项目文件。在我从 GitHub 下载的文件中,它位于文件 "E:\GitHub\dotnet\roslyn\src\Compilers\Core\Portable\CodeAnalysis.csproj" 中。在 Visual Studio 解决方案资源管理器中,它位于编译器 - 核心 - CodeAnalysis。
据我所知,这个项目编译了数百个 C# 源文件,其中大部分在大约 30 个子文件夹中。但我的问题是我在 .csproj 文件中看不到任何指示它应该编译所有这些 C# 源文件的内容。
我猜我遗漏了一些明显的东西,一些暗示 "build everything in this folder and all sub-folders" 的 .csproj 文件的新功能,但我就是看不到它。
是的,您错过了一些东西。这是一个 .net 标准项目。这些项目不引用 included 文件,而是引用 excluded.
您可以创建一个新的 .net Standard 项目并添加 classes。您会看到,classes 未在 .csproj
文件中引用。如果您使用 Visual Studio,您可以在解决方案资源管理器中右键单击 class,然后选择 "Exclude From Project",这将在 .csproj
文件中创建一个引用 remove
属性。