2016-06-16 9 views
3

Я использую последнюю версию XUnit, и я следил за these steps, чтобы запустить проект Class Library (.NET Core).Ссылка на стандартные DLL из проекта .NET Core XUnit

Все другие библиотеки на протяжении всего моего решения только с помощью 4.6.1, поэтому я изменил раздел базы в project.json к следующему:

{ 
    "frameworks": { 
     "net461": { 
      "dependencies": { 
       "Microsoft.NETCore.Platforms": "1.0.1-rc2-24027" 
      } 
     } 
    } 
} 

и все отлично работает внутри моего решения. Я могу запускать тесты, и все ссылки на другие библиотеки работают нормально, даже если они только 461. В основном, в моем решении у меня есть несколько других библиотек классов (.NET Core), и моя библиотека XUnit опирается на них, поэтому я просто могу ссылаться на них прямо через визуальную студию, и ссылки добавляются в проект project.json проекта XUnit.

ситуация возникла, когда мне нужно сделать следующее:

Копирование только проект XUnit к другому компьютеру разработчиков. Позвольте ему отредактировать исходный код, чтобы он мог создавать тесты, но не предоставлял ему доступ ко всем другим библиотекам/кодам. Я решил, что просто смогу скопировать все другие dll в случайную папку и иметь возможность ссылаться на них из автономного проекта XUnit. Однако это не так, потому что при попытке ссылки я получаю сообщение о том, что проекты .NET Core не могут ссылаться на стандартные DLL.

Может кто-нибудь дать мне представление о том, как я могу это сделать?

ответ

6

Вы должны распространять свои библиотеки в виде пакетов nuget.

Ядро .NET работает с зависимостями только через Nuget. Даже когда вы добавляете ссылку, используя VS UI (команда «Добавить ссылку») в справочной ссылке добавляется как пакет nuget: если вы откроете файл project.json, вы увидите, что ваши библиотеки заданы с использованием того же формата «пакет: версия» в разделе «зависимости», как и другие).

Чтобы упаковать код в пакет Nuget, используйте команду dotnet pack.

Если вы не используете общедоступные источники Nuget, вы можете Hosting Your Own Nuget Feed.

+0

Спасибо, я закончил создание своего собственного фида и использовал nuget.exe, чтобы собрать все DLL-файлы в пакет, а затем ссылался на него! –

+0

Ссылка на сборки непосредственно с диска должна быть доступна, когда отправляется .NET Core 2.0. https://github.com/dotnet/sdk/issues/120 –

+0

@JaanusVarus: не похоже, что это возможно. Опция есть, компиляция против типов в ссылочных сборках работает, но во время выполнения ссылка на сборку не найдена, поскольку она не добавлена ​​в TRUSTED_PLATFORM_ASSEMBLIES. Основная боль в задней части. – Wout

 Смежные вопросы

  • Нет связанных вопросов^_^