Пользовательский канал nuget, VS не видит пакет как установленный

#visual-studio-2010 #nuget

#visual-studio-2010 #nuget

Вопрос:

Привет всем, у меня есть локальный исходный код Nuget с пакетом, содержащим некоторые элементы по умолчанию, которые я хочу использовать в своих проектах (корпоративные модели и стили по умолчанию и некоторые страницы по умолчанию). Это всего лишь копирование элементов в проект и добавление строки подключения к web.config, ничего особенного.

Я могу установить пакет через консоль диспетчера пакетов и графический интерфейс. Однако он никогда не отображается как установленный. Это означает, что я не могу его обновить или удалить. Если я перехожу к графическому интерфейсу, он показывает пакет как не установленный, даже если он добавил все элементы в проект и имеет папку для пакета в каталоге packages.

Кроме того, я хочу использовать этот пакет NuGet для перезаписи некоторых файлов, которые уже существуют в проекте MVC по умолчанию (например, AccountController и LogonUserControl.ascx). Можно ли это сделать, или мне нужно будет начать с пустого шаблона MVC вместо шаблона по умолчанию?

Packages.config:

 <?xml version="1.0" encoding="utf-8"?>
<packages>
 <package id="MyCompanyMVC" version="1.1" />
</packages>
  

Комментарии:

1. Ваш проект заканчивается с packages.config? Вы уверены, что правильно собрали пакет? Есть ли папка packages?

2. Да, есть папка packages, и в ней содержится мой пакет, вот почему я так озадачен ошибкой! Пакет был создан вручную в Nuget Package Explorer, поэтому я надеюсь, что он собрал пакет правильно!

3. Есть ли у вас в пакете папка содержимого с файлами, которые применяются к вашему проекту? Вы следовали приведенным здесь инструкциям docs.nuget.org/docs/creating-packages / … ? Существуют обычные папки, которые вы должны использовать для сборки своего пакета.

4. Да, все мои файлы содержатся в папке содержимого. Когда я запускаю install-package, все файлы отправляются туда, где они должны быть.

5. Какую версию nuget вы используете? И есть ли packages.config в этом проекте с вашим пакетом в списке?

Ответ №1:

NuGet не перезаписывает файлы — я не верю, что есть способ принудительно это сделать, однако вы, вероятно, могли бы «обойти» это, используя скрипт PowerShell (tools / install.ps1), чтобы удалить старый файл и переименовать введенный файл, чтобы иметь требуемое имя.