Файл NUSpec содержит метаданные пакета и используется для создания пакета.
Пакет создается из вашего проекта, поэтому имеет смысл поместить файл NUSpec в папку проекта.
Это имеет смысл, потому что затем его можно зафиксировать в системе управления версиями как часть этого проекта, и это сохраняет все в одном месте, что упрощает автоматическое создание пакета с использованием конвейера CI/CD.
Конечно, вы можете делать и другие вещи, например, создать папку NUSpec на том же уровне, что и папка вашего проекта, и поместить туда свой файл. Nuget.exe принимает путь к вашему файлу NUSpec, поэтому фактическое местоположение не имеет значения.
Тем не менее, всегда учитывайте свой контроль версий и то, как вы управляете/создаете этот пакет, если вы можете сделать это легко, а затем размещайте его там, где это имеет смысл для вас.
Вы упомянули NPE, это не имеет большого значения, поскольку за кулисами он, скорее всего, все равно вызовет nuget.exe. Если вы хотите узнать, как его использовать, посмотрите здесь: https://docs.microsoft.com/en-us/nuget/create-packages/creating-a-package.
Они также рекомендуют по соглашению хранить файл nuspec в том же месте, что и файл proj.
person
Andrei Dragotoniu
schedule
18.04.2018