Visual Studio-недопустимые символы в пути
это происходит после последнего обновления Visual Studio Community 2017. Каждый раз, когда я пытаюсь открыть свой проект, я получаю следующее предупреждение:
предупреждение IDE0006 ошибка при загрузке проекта. Некоторые функции проекта, такие как полный анализ решения для неудачного проекта и зависящих от него проектов, были отключены. Ядро.Тесты
затем, когда я запускаю сборку, я получаю:
Ошибка " ResolvePackageFileConflicts" неожиданно задача не удалась. Система.ArgumentException: недопустимые символы в пути.
в системе.ИО.Путь.CheckInvalidPathChars (строковый путь, логический checkAdditional)
в системе.ИО.Путь.GetFileName (строковый путь)
в Microsoft.Сеть.Строить.Задачи.ItemUtilities.GetTargetPath (itaskitem item)
в Microsoft.Сеть.Строить.Задачи.ItemUtilities.GetReferenceTargetPath (itaskitem item)
на Майкрософт.Чистая.Построить.Задачи.Разрешения конфликтов.ResolvePackageFileConflicts.С. Б__35_1(ConflictItem ки)
в корпорации Microsoft.Чистая.Построить.Задачи.Разрешения конфликтов.ConflictResolver`1.ResolveConflicts(интерфейс IEnumerable`1 conflictItems, Функ`2 getItemKey, действие`1 foundConflict, логическое commitWinner, боевик`1 unresolvedConflict)
в Microsoft.Сеть.Строить.Задачи.Разрешение конфликтов.ResolvePackageFileConflicts.ExecuteCore ()
на Microsoft.Сеть.Строить.Задачи.TaskBase.Execute ()
в Microsoft.Строить.базовая программа.TaskExecutionHost.Microsoft.Строить.базовая программа.ITaskExecutionHost.Execute ()
в Microsoft.Строить.базовая программа.TaskBuilder.Д__26.Ядро MoveNext ().Тесты
, а потом
ошибка файла метаданных CS0006 'C:tmpbackendTestsDataLoader - ... ТестыbinDebugDataLoader.Тесты.dll " не удалось найти EResourceConnector.Тесты C:tmpbackendTestsEResourceConnector.ТестыCSC 1 Active
путь к проекту-только латинские символы. На сервере сборки Сборка работает, но на моем компьютере после последнего обновления не против. Я попытался переустановить VS, но это не помогло.
есть какие-нибудь решения или хотя бы намека на этот вопрос?
EDIT: я попытался исключить файлы, которые затронуты этой проблемой, и это сработало. Но это не решение моей проблемы. Интересно, что только затронутые файлы являются модульными тестами.
EDIT2: я попытался создать целое решение на свежем Windows 10 с последней Visual Studio 2017, и это не удается, поэтому это, очевидно, проблема моего решения, но только в новой версии VS. Я попробовал свое решение на Visual Studio 2015, и сборка работала нормально.
вот, например Core.Test.csproj
файл, который является одним из тех, которые вызывают эту проблему. https://pastebin.com/kq7MFLV1
4 ответов
в вашем случае проблема заключается в том, что строка возвращается в следующей ссылке:
<Reference Include="System.Collections.Immutable, Version=1.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<HintPath>
..\..\packages\System.Collections.Immutable.1.3.1\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll
</HintPath>
</Reference>
заменить на:
<Reference Include="System.Collections.Immutable, Version=1.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<HintPath>..\..\packages\System.Collections.Immutable.1.3.1\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll</HintPath>
</Reference>
у меня была аналогичная проблема, но в моем случае это было до странных символов в ссылке:
<Reference Include="Office, Version=11.0.0.0, 
 Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
<Reference Include="stdole, Version=7.0.3300.0, 
 Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
изменение выше:
<Reference Include="Office, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
<Reference Include="stdole, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
решена эта конкретная проблема.
совет: я решил это методом проб и ошибок. Я прокомментировал все ItemGroups в файле csproj и повторно представил их один за другим. Хотя ваш проект может не построить во время этого процесса, ясно, когда возникает вышеуказанная ошибка, поскольку вы увидите только эту ошибку и не другие ошибки сборки из-за отсутствия ItemGroups.
@Delfi-я обновил VS 2017 в пятницу 2017-08-18 и начал получать ту же ошибку сборки "ResolvePackageFileConflicts" сегодня в некоторых проектах. Я заметил, что проблема происходит, когда любая ссылка в настоящем .файл csproj имеет Hintpath. После использования блокнота для удаления Hintpath из затронутых ссылок сборки теперь работают нормально.
Это, похоже, проблема с последним обновлением VS 2017. Visual C# 2017 00369-60000-00001-AA019 Microsoft Visual C# 2017
пример:
<Reference Include="Atalasoft.dotImage.WinControls, Version=10.0.6.53316, Culture=neutral, PublicKeyToken=2b02b46f7326f73b, processorArchitecture=x86">
<HintPath>..\..\..\..\..\Program Files\Atalasoft\DotImage 10.0\bin.0\Atalasoft.dotImage.WinControls.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
</Reference>
изменен...
*<Reference Include="Atalasoft.dotImage.WinControls, Version=10.5.0.61849, Culture=neutral, PublicKeyToken=2b02b46f7326f73b, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
</Reference>*
надеюсь, это поможет вам с вашим вопросом.
примечание: Я не пробовал, но это также может быть исправлено путем удаления и повторного добавления затронутых ссылок в проекте через обозреватель решений.
Я также столкнулся с той же проблемой с этой строкой
<HintPath>>$(SolutionDir).lib\Foo.Bar.dll</HintPath>
удаление >
работал для меня.
<HintPath>$(SolutionDir).lib\Foo.Bar.dll</HintPath>