msbuild - .NET Core(非 ASP.NET Core)项目的文件可以嵌套在 VS2017 解决方案资源管理器中吗?

标签 msbuild .net-core visual-studio-2017 csproj

在“老派”MSBuild 项目中(例如 VS2017 中的 Windows 窗体仍在使用的项目),文件可以通过 DependentUpon 进行“嵌套”。 csproj 文件中的项目。

我用它在 Noda Time 中将单元测试分组在一起,例如

<Compile Include="LocalDateTest.PeriodArithmetic.cs">
  <DependentUpon>LocalDateTest.cs</DependentUpon>
</Compile>

这导致了易于导航的测试:

Nested tests

当我转移到 project.json 时,我故意“丢失”了此功能对于 .NET Core,但希望在转换为 MSBuild 时它会返回。但是,看起来基于 .NET Core SDK(根元素 <Project Sdk="Microsoft.NET.Sdk"> )的 MSBuild 项目在 Visual Studio 2017 中没有得到相同的处理,即使 ItemGroup 也是如此。手动添加与“老派”项目相同的元素。

ASP.NET Core 项目接收缩小 CSS 和 Javascript 的自动嵌套,但尚不清楚如何将其应用于 .NET Core 库项目中的 C#。

最佳答案

我让它在我的一个 Microsoft.NET.Sdk 风格项目中工作,使用类似于以下内容的内容:

<ItemGroup>
  <Compile Update="LocalDateTest.*.cs">
    <DependentUpon>LocalDateTest.cs</DependentUpon>
  </Compile>
</ItemGroup>

这里的技巧是使用Update而不是Include。这是因为隐式项目来自在主项目之前导入的 props 文件。额外的 Include 不会影响已包含的文件,但可以使用 Update 修改它们。

关于msbuild - .NET Core(非 ASP.NET Core)项目的文件可以嵌套在 VS2017 解决方案资源管理器中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43846079/

相关文章:

c# - Sentry 异常日志记录 .NET Core

c# - Azure Cosmos DB 批量插入计算内部错误

c++ - Visual C++ UMDF V2 模板似乎创建了一个 C 项目,而不是 C++

visual-studio - 英特尔编译器使用错误的 header

c# - 具有其他依赖项的 ConfigurationProvider

jquery - 类型 “jQueryStatic<TElement extends Node>” 的值不可调用

debugging - Visual Studio 2017 中的调试会拒绝访问

visual-studio-2010 - 是否可以使用 MSBuild 将配置定义移动到属性表中?

visual-studio - MSBuild:包含自定义资源文件作为嵌入资源

c# - XmlPoke 任务修整值