VS2017 - попытки сохранить пакеты nuget в папку Xamarin - почему? - PullRequest
0 голосов
/ 16 октября 2019

Я озадачен этим.

У меня установлен VS2017 (v15.9.16, обновлен до последней версии в середине октября 2019), но по какой-то причине, когда я пытаюсь добавить пакеты NuGetв мой веб-проект он хочет сохранить их в папке Xamarin:

Warning MSB3106 
Assembly strong name "C:\Microsoft\Xamarin\NuGet\swashbuckle.aspnetcore\4.0.1\lib\netstandard2.0\Swashbuckle.AspNetCore.dll" 
is either a path which could not be found or it is a full assembly name which is badly formed. 
If it is a full assembly name it may contain characters that need to be escaped with backslash(\). 
Those characters are Equals(=), Comma(,), Quote("), Apostrophe('), Backslash(\).    

Я получаю это предупреждение 10 раз в моем окне «Список ошибок».

Мой проект VS2017 являетсяРешение .Net Core 2.2 Web API, меня не интересует Xamarin, и я никогда не занимался разработкой Xamarin для этого ноутбука. Я не знаю, почему VS2017 решил начать использовать этот странный путь.

Где, черт возьми, этот выходной путь установлен?

1 Ответ

1 голос
/ 17 октября 2019

Где, черт возьми, этот выходной путь установлен?

У вас также есть VS2019 на вашем компьютере? Я считаю, что эта проблема может возникнуть, если кто-то разрабатывает Xamarin в VS. У меня никогда не было пути C:\Microsoft\Xamarin\NuGet\, пока я не установил рабочую нагрузку Xamarin только сейчас:

enter image description here

Я думаю, что-то, что исходит от этой рабочей нагрузки, может повредить вашуповедение nuget, и это приводит к неверному пути в вашем сообщении об ошибке.

Предложения:

1.Удалите эту рабочую нагрузку, поскольку вас не интересует Xamarin .

2. Непосредственной причиной неправильного пути является Xamarin рабочая нагрузка помещает файл Xamarin.Offline.config в C:\Program Files (x86)\NuGet\Config\, который устанавливает C:\Microsoft\Xamarin\NuGet\ как один fallbackPackageFolders.

Тогда иногда вы получите сообщение об ошибке с неправильным путем, обычно путь в сообщении об ошибке такого типа должен быть C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\ или C:\Program Files\dotnet\sdk\NuGetFallbackFolder\.

Так что еще один простой способ решить эту проблемунеправильный путь - удалить Xamarin.Offline.config в пути C:\Program Files (x86)\NuGet\Config, этот файл может быть прямой причиной неправильного пути. (Чтобы ответить на ваш первоначальный вопрос, этот файл задает этот странный путь для вас ...)

После удаления этого файла очистите кэш вашего nuget и удалите obj (где * 1044)* существует), тогда неправильный путь никогда не будет беспокоить вас, я думаю.

А для MSB3106 вы можете получить некоторую помощь по этой подобной проблеме . Надеюсь, это поможет:)

Кроме того: Проверьте настройку источника пакета в VS, если существует C:\Microsoft\Xamarin\NuGet\, удалите его.

...