VS2015 добавить ссылку для Class Library

Я создал проект в VS2015, как показано ниже:

Solution1

  • BookStore.ClassLibrary1 = > Библиотека классов (пакет)
  • BookStore.ClassLibrary2 = > Библиотека классов
  • BookStore.Web = > MVC5

В BookStore.Web я могу ссылаться на BookStore.ClassLibrary2, но не ссылаюсь на BookStore.ClassLibrary1.

Он показывает ошибку " Ссылка на" ClassLibrary1 "не может быть добавлена."

Мой вопрос заключается в том, как ссылаться на библиотеку классов (пакет) в VS2015? Большое вам спасибо!

Ответ 1

Похоже, ваш проект ClassLibrary1 представляет собой пакет библиотеки классов, а не проект библиотеки классов. Пакет библиотеки классов используется для создания пакетов Nuget, которые могут ориентироваться на любую платформу.

Существует несколько преимуществ проектов ASP.NET 5 Class Library (.kproj) над проектами библиотеки классов (.csproj):

Библиотеки классов ASP.NET 5 легко поддерживают кросс-компиляцию проектов для нескольких целей, таких как aspnet50, aspnetcore50, net45 и различные другие переносимые библиотеки классов. Это включает в себя богатую поддержку Visual Studio для Intellisense, чтобы уведомить вас, какие API-интерфейсы доступны для каких целей. Пакеты NuGet автоматически создаются, что очень часто встречается в библиотеках классов. Лучшая производительность, когда дело касается таких вещей, как автоматическое обновление обозревателя решений при изменении файловой системы. Меньше конфликтов в исходном управлении при попытке слить конфликтующие изменения в файле *.csproj. Может быть скомпилирован кросс-платформенный (отчасти потому, что он не зависит от MSBuild) Вы можете ссылаться на проект *.csproj из проекта *.kproj(это было сделано намного проще с новым предварительным просмотром Visual Studio 2015), но это всегда было возможно с помощью некоторых ручных шагов.

Почему у этого имени есть "ASP.NET"?

Что касается названий, это реликвия истории, которая скоро будет решена. Новый тип проекта полезен далеко за пределами приложений ASP.NET 5. Ожидайте увидеть новые имена в будущем представлении Visual Studio:

Приложение .NET Console (кросс-платформенная) Библиотека классов .NET(кросс-платформенная) С выпуском Visual Studio 2015 RC вы можете увидеть обновленные имена шаблонов проекта:

Библиотека классов (пакет) Консольное приложение (пакет) Они используют файл project.json и среду выполнения .NET(DNX) для сборки, запуска и упаковки (в пакет NuGet) проекта.

Эти шаблоны проектов продолжают отображаться в диалоговом окне "Новый проект" под "Web" node, но теперь также отображаются в основном "Visual С#" node.

Вот хорошая ссылка, поскольку вам нужно ссылаться на DLL, которую новая библиотека clas не создает. https://evolpin.wordpress.com/2015/01/25/vnext-and-class-libraries/

Ответ 2

Используйте либо обычную старую библиотеку классов или используйте библиотеку классов Nuget, опубликуйте ее в локальном или общедоступном репозитории Nuget и добавьте в нее веб-проект.

Ответ 3

Я сомневаюсь в зависимости от ClassLibrary1, и я даже вижу, что на вашем скриншоте введите описание изображения здесь

Кажется, ClassLibrary1 ищет некоторые зависимые dll, поэтому вам может потребоваться сначала добавить эти dll, затем вы можете продолжить и добавить его. Что-то подобное происходит здесь .

Подробнее о Depencies можно узнать из ссылка MSDN вы можете прямо перейти на Зависимости node для зависимостей Bower и NPM