1

.csproj我使用通配符在我的文件中包含了一些文件(.csproj手动编辑文件),如下所示:

<ItemGroup>
    <Compile Include="Class1.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
    <Compile Include="..\..\**\Foo???Class.cs" />
</ItemGroup>

它完美无缺。但是当我在另一个目录中创建整个代码树的副本时,它突然停止工作。当我打开我的原始目录时,它可以工作,但是当我在另一个目录中打开副本时,VS 说:

文件 '....**\Foo???Class.cs' 无法添加到项目中。指定的路径包含无效字符,是绝对路径,或者是项目目录之外的路径。

为什么会发生?我怎么解决这个问题?

4

1 回答 1

1

看起来 Visual Studio 对文件夹名称的长度有限制。

新目录(我放置复制代码的位置)名称为 42 个字符长。当我将其名称减少到 20 个字符时,通配符就神奇地起作用了,就像在原始代码树中一样。

于 2013-05-18T14:29:48.957 回答