我使用通配符(手动编辑.csproj
文件)在我的.csproj
文件中包含了一些文件,如下所示:
<ItemGroup>
<Compile Include="Class1.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="..\..\**\Foo???Class.cs" />
</ItemGroup>
它完美无缺。但是当我在另一个目录中创建了我的整个代码树的副本时,突然它停止了工作。当我打开原始目录时,它可以工作,但是当我在另一个目录中打开副本时,VS说:
无法将文件'.... ** \ Foo ??? Class.cs'添加到项目中。 指定的路径包含无效字符,是绝对路径, 或者是项目目录之外的路径。
为什么会这样?我该如何解决这个问题?
答案 0 :(得分:1)
看起来Visual Studio对文件夹名称的长度有限制。
新目录(我在其中放置了复制的代码)名称长度为42个字符。当我将其名称减少到20个字符时,通配符神奇地工作,就像在原始代码树中一样。