2013-05-17 1 views
1

я включил некоторые файлы в моем .csproj файл с помощью символа (редактирование файла .csproj вручную), как это:Visual Studio 2012 не загружает файлы в проект включены с использованием шаблонов

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

Он работал безупречно. Но когда я создал копию всего моего дерева кодов в другом каталоге, он с трудом прекратил работу. Когда я открываю свой исходный каталог, он работает, но когда я открываю копию в другом каталоге, VS говорит:

Файл '.... ** \ Foo ??? Class.cs' не может быть добавлен в проект. Указанный путь содержит недопустимые символы, это абсолютный путь, или это путь за пределами каталога проекта.

Почему это происходит? Как я могу решить эту проблему?

+0

Это * работал * в вашем другом проекте? Файл с вопросительными знаками? Вы пытались удалить вопросительные знаки из файла? Я даже не знаю, как у вас есть файл с этим именем, Windows не позволяет вам называть файл с вопросительными знаками. – tnw

+0

@tnw Это допустимый синтаксис, да. См. Http://msdn.microsoft.com/en-us/library/vstudio/ms164283.aspx, '/ ** /' означает «любая директория, рекурсивно», '/ * /' означает «любая директория» и ' * 'и'? 'имеют свой нормальный смысл (имя файла подстановочных знаков). Кроме того, '/' и '\\' могут, по-видимому, использоваться взаимозаменяемо. –

+0

@Doug Какую часть дерева проектов вы скопировали? И где вы его скопировали? Насколько нам известно, '.. \ .. \' пытается перейти вниз к корню вашего диска и на один уровень ниже него. –

ответ

1

Похоже, что Visual Studio имеет ограничение относительно длины имен папок.

В новом каталоге (в котором я разместил скопированный код) было указано 42 символа. В тот момент, когда я сократил свое имя до 20 символов, маска сработала, как в исходном дереве кода.

Смежные вопросы