2016-10-25 3 views
12

Microsoft заявляет, что в наши дни это нейтральная платформа, поэтому я стараюсь строить на Mac и Linux только с помощью VS Code и развертывать Azure. Зачем? Это в основном доказать, что я могу.Совместное использование DLL между проектами

Наш проект состоит из нескольких частей, которые включают в себя несколько различных веб-сайтов, API веб-интерфейса, API и несколько других бит. На моем Mac я построил .Net Core Class Library с загрузкой объектов. Командная строка, сборка dotnet, DLL, без проблем.

Я хочу поместить эту DLL на машину Linux, на которой строится веб-сайт MVC, - надеюсь, объекты, составляющие часть этого сайта. Я не могу понять, как заставить проект сайта ссылаться на мою DLL и использовать объекты.

Я предположил, что я скопирую его на другой компьютер, поместив его в папку bin создаваемого сайта и ссылаясь на него в разделе «Зависимости» проекта project.json. Неа. Я видел несколько статей, в которых сказано, что .Net Core работает только с NuGet, и это должен быть пакет. Это действительно так?

Я нашел и прочитал (если не полностью понял) все, что вы могли себе представить, для обмена между ядром .net и .net framework. Это проект только для ядра, поэтому он неприменим. Честно говоря, я потерян, и что-то называется .Net Standard только что перевернулось в мое поле зрения.

ответ

13

Поэтому вместо копирования библиотеки DLL используйте dotnet pack для создания пакета nuget на вашем Mac и скопируйте , чтобы вместо вашего Linux-устройства. Поместите его в каталог, который вы настраиваете как локальный репозиторий nuget (без сервера или чего-то еще), и вы ушли.

Я согласен, что это не так просто, как ссылка на DLL, но это не так уж плохо. Обратите внимание, что вам необходимо соответствующим образом выполнить версию пакета, чтобы система инструментов обнаружила, когда она изменилась.

+0

И у нас есть победитель. Как только я получил запись для локального репозитория в * correct * nuget.config, я был в отъезде. Я потратил час на этот день, пытаясь и не справляясь с этим. Оказывается, у меня есть nuget, смотрящий на /users/me/.config/nuget, и процесс восстановления dotnet использует тот, который находится в /users/me/.nuget/nuget/. Потому что почему бы и нет ... Так или иначе, отсортировано, что, восстановление dotnet через VS Code, и все хорошо в моем мире. Спасибо за помощь :) –