我有一个关于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 文件。
因为我有一个很大的源基础,所以生成
您不能生成或至少更新csproj
文件吗?
这就是我为 99% 生成的程序集所做的。我将所有手动工作放在一个单独的文件夹中,该文件夹在生成器中枚举并添加到生成的项旁边的项目文件中。