我有一个关于 csproj 文件的问题。
由于我生成了一个很大的源代码库,因此我试图尽量减少项目文件上的冲突(与团队一起开发时)。
我设法通过使用这样的标签摆脱了大多数冲突:
<Compile Include="Services\**\*.cs" />
对于普通的 cs 文件和
<Page Include="Entities\**\*.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
用于 xaml 和代码隐藏。
不幸的是,我失去了 .xaml 和 .xaml.cs 对的分组,这是可以忍受但笨拙的。
有没有办法为这些创建通用模式?
<Compile Include="MainWindow.xaml.cs">
<DependentUpon>MainWindow.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
我知道拆分 csproj 本身的可能性,但这会禁止解决方案范围的搜索,所以这是不行的
最佳答案
使用 MSBuild 15 的静态更新语法,你可以做到
<Compile Update="**\*.xaml.cs" DependentUpon="%(Filename)" />
这里的技巧是 MSbuild 将路径分成
Filename
( foo.xaml.cs
=> foo.xaml
) 和 Extension
( foo.xaml.cs
=> .cs
),所以 %(Filename)
可用于引用 xaml 文件。
关于c# - 在csproj中使用通配符时如何在xaml文件下嵌套xaml.cs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44018668/