可以在VS2017解决方案资源管理器中为.NET Core(non-ASP.NET Core)项目嵌套文件吗?
在“老派”MSBuild项目中 - 例如VS2017中的Windows Forms仍然使用 - 文件可以通过csproj文件中的DependentUpon
项目“嵌套”。可以在VS2017解决方案资源管理器中为.NET Core(non-ASP.NET Core)项目嵌套文件吗?
我用它在Noda Time中将单元测试分组在一起,例如,
<Compile Include="LocalDateTest.PeriodArithmetic.cs">
<DependentUpon>LocalDateTest.cs</DependentUpon>
</Compile>
这导致容易通航试验:
我故意转移到project.json
用于.NET的核心时,“迷失”这个功能,但曾希望这将返回转换时的MSBuild 。但是,它看起来像基于.NET Core SDK的MSBuild项目(根元素<Project Sdk="Microsoft.NET.Sdk">
)在Visual Studio 2017中没有得到相同的处理,即使手动添加了ItemGroup
以与“旧学校”项目相同的元素。
ASP.NET核心项目接收自动嵌套的缩小的CSS和Javascript,但它不清楚如何将它应用于.NET核心库项目中的C#。
我有它在我的风格的项目之一,使用类似于下面的内容工作:
<ItemGroup>
<Compile Update="LocalDateTest.*.cs">
<DependentUpon>LocalDateTest.cs</DependentUpon>
</Compile>
</ItemGroup>
这里的技巧是使用Update
而不是Include
。这是因为隐式项目来自主项目之前导入的道具文件。额外的Include
不会影响已包含的文件,但可以使用Update
修改它们。
如果使用相同的前缀,它将自动嵌套文件。
例子:
AsemblyInfo.cs
AsemblyInfo.local.cs
在一个netstandard项目中,没有任何工作 –
好吧,这是奇怪 - 我敢肯定,我试过了,这是行不通的。现在是。非常,非常奇怪。啊 - 这是“更新”而不是“包含”。 –
Habe你试过[这个扩展](https://marketplace.visualstudio.com/items?itemName=MadsKristensen.FileNesting)? –
@AlexanderClare:那个链接被破坏了,但我想我知道你的意思 - 而且它不起作用。 –