Как использовать Nuget с несколькими решениями - PullRequest
9 голосов
/ 24 декабря 2011

У меня есть несколько решений, которые совместно используют одни и те же проекты в разных папках, например,

Common folder
 - common 1
 - common 2
Contracts folder
 - contracts for project A
 - contracts for Project B
Application 1 folder (in this folder I have my solution file)
 - Solution A
 - nuget creates packages folder there
Application 2 folder
 - Solution B
 - nuget creates packages folder there
packages folder( I need this folder at top level, so all projects can reference it)

С этой структурой Nuget создает папку с двумя пакетами внутри Приложения 1 и Приложения 2

* 1005.* Но все эти проекты и решения связаны друг с другом, поэтому логически лучше иметь только одну папку с пакетами.

Можно ли установить в nuget только одну папку и использовать эту папку для всех решений?

Или я должен структурировать свои решения и проекты по-другому?

Ответы [ 2 ]

7 голосов
/ 19 января 2012

Вы можете сделать это, добавив файлы nuget.config к каждому решению со следующим содержимым

<settings>
<repositoryPath>..\Packages</repositoryPath>
</settings>

Убедитесь, что все они указывают на одну и ту же папку.

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

Но более практичным было бы создать только один nuget.config, который используют все решения.Просто убедитесь, что он находится в папке выше, чем любой файл решения, который вы хотите включить.При восстановлении диспетчер nuget ищет этот файл, начиная с рядом с файлом решения и, если не найден, начинает искать структуру папок выше.

0 голосов
/ 26 декабря 2011

Совместное использование репозитория между двумя решениями на самом деле невозможно, как если бы вы обновляли пакет в решении A, проекты в решении b не будут обновляться, если они также не находятся в решении A (и могут автоматически удалять их пакет потому что решение А больше не использует их). В основном это означает, что наличие двух файлов решений является избыточным, иначе вы не сможете узнать другое решение.

Как решения связаны друг с другом? Возможно, есть другой способ решить проблему, если у нас будет немного больше информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...