C# - 在csproj文件和新文件中使用通配符

时间:2017-03-23 15:31:48

标签: c# visual-studio csproj

.csproj 文件中,Visual Studio和Xamarin Studio默认保留对项目内使用的每个文件的引用。

<ItemGroup>
    <Compile Include="Utils\Foo1Utils.cs" />
    <Compile Include="Utils\Foo2Utils.cs" />
    <Compile Include="Services\FooService.cs" />
    ...
</ItemGroup>

为了避免在每次添加文件时我们的解决方案中的csproj文件发生冲突,我们开始使用通配符

<ItemGroup>
    <Compile Include="Utils\*.cs" />
    <Compile Include="Services\*.cs" />
    ...
</ItemGroup>

问题是,显然Visual Studio和Xamarin Studio都无法向IDE解释我们正在使用通配符,当我们向项目添加新文件时,他们会添加对该文件的新引用忽略文件夹上的通配符*.cs。它仍然是一个很好的解决方案,因为我们不需要在每次添加文件时都提交.csproj,但现在我们每次都必须重置它们......任何人都知道是否有解决方案?

编辑:使用 Rider (JetBrains)没有这个问题,如果在csproj中有一个通配符,我添加一个新文件一切正常。

1 个答案:

答案 0 :(得分:1)

如果您使用项目的新格式(.net core 2),它将使用通配符包含,而无需为项目文件夹中的文件指定它。您可以手动设置目标框架,以便仍然可以编译到您想要的任何目标。