我们使用Visual Studio项目中的目录来组织功能上共享的代码和位于单独命名空间中的代码。
我们的惯例是前缀“。”如果目录“打开”新的命名空间,则到目录名。这很方便,因为这些目录首先列出。之后没有“。”的目录。前缀列在旁边的代码文件旁边。 ReSharper可以使用前缀“。”从某种意义上说,它可以提出正确的命名空间 - 如果它是错误的。
现在我们正在努力转向新的精益SDK项目格式。这包括它在项目中找到的所有文件,但不幸的是它会跳过所有以“。”开头的目录。这是合理的(.vs目录真的没有意义包含在项目中)。
我现在可以手动添加所有“。” - 带前缀的目录,这与精益项目格式的概念相反(即使我在Visual Studio中的项目文件中包含“包含在项目中”,结果也是如此对于目录存在的每个文件都有一个<Compile Include="..." />
,因此之后添加到目录中的文件将不会自动包含在项目中)。
有没有办法提供类似于<Compile Include="**\.*\" />
的模式,以包括所有以“。”开头的目录。在任何分层目录深度?还有其他更好的方法吗?
我们还尝试使用其他字符而不是“。”,但ReSharper无法处理除点之外的其他任何内容。
以下三行为我做了诀窍:
<ItemGroup>
<Compile Include="Sources\**\.*\**\*.cs" />
</ItemGroup>