1

Я пытаюсь ссылаться на проект библиотеки классов в рамках решения на простое консольное приложение. Но, похоже, Visual Studio не позволит мне.VS2015 не может ссылаться на зависимости проекта

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

Project

Если вы посмотрите на изображение выше, вы увидите, что это просто обычный проект, применение новой консоли бренд с библиотекой классов, ничего отредактировано кроме зависимостей, и дополнительная строка пытается ссылаться Class1.cs из библиотеки классов.

Я получаю сообщение intellisense, предлагающее мне добавить ссылку на проект, если я нажму на него, ничего не произойдет.

Как вы можете видеть, я попытался добавить инструкцию using вручную, без каких-либо успехов. Он просто говорит: «Не удается разрешить символ ClassLibrary1»

Dependency

Изображение показывает, что я добавил на зависимые пакеты проекта.

Project reference

Изображение показывает, что я попытался добавить ссылку на проект

Теперь все это неоспоримым сказал. То же самое происходит с проектом, над которым я должен работать, но в этом проекте я просто получаю сообщение «Не могу добавить проект X в качестве ссылки» при попытке добавить библиотеку классов в качестве ссылки. Но я могу добавить Dependency, но все же, это в основном дает мне ту же ошибку, что и этот чистый проект.

Я использую Visual Studio 2015 - Enterprise.

Class Library Project.json: 
    { 
     "version": "1.0.0-*", 
     "description": "ClassLibrary1 Class Library", 
     "authors": [ "Tweek" ], 
     "tags": [ "" ], 
     "projectUrl": "", 
     "licenseUrl": "", 

     "dependencies": { 
     "System.Collections": "4.0.10-beta-23019", 
     "System.Linq": "4.0.0-beta-23019", 
     "System.Threading": "4.0.10-beta-23019", 
     "System.Runtime": "4.0.10-beta-23019", 
     "Microsoft.CSharp": "4.0.0-beta-23019" 
     }, 

     "frameworks": { 
     "dotnet": { } 
     } 
    } 

ConsoleApp1 Project.json после редактирования, как это предлагается в одном из ответов:

{ 
    "version": "1.0.0-*", 
    "description": "ConsoleApp1 Console Application", 
    "authors": [ "Tweek" ], 
    "tags": [ "" ], 
    "projectUrl": "", 
    "licenseUrl": "", 

    "dependencies": { 
    }, 

    "commands": { 
    "ConsoleApp1": "ConsoleApp1" 
    }, 

    "frameworks": { 
    "dnx451": { 
     "dependencies": { 
     "ClassLibrary1": "1.0.0-*" 
     } 
    } 
    } 
} 

Любая помощь очень ценится!

ответ

0

Найдено решение проблемы -

Вы должны использовать «Библиотека классов» или «Библиотека классов (переносная)» под «Windows»

Project

1

Ваше консольное приложение нацелено на DNX 4.5.1, которое является частью новой среды выполнения ASP.NET. Если вы создаете библиотеку классов, ориентированную на .NET 4.5, она может быть несовместимой из-за новой структуры.

Это можно решить, создав библиотеку классов, используя новый проект Class Library (Package), который может быть нацелен на новую структуру.

В качестве альтернативы, редактировать project.json вашего консольного приложения и удалить dnxcore50 из раздела frameworks и добавить ссылку на вашу библиотеку:

{ 
    ... 
    "frameworks": { 
     "dnx451": { 
      "dependencies": { 
       "ClassLibrary1": "1.0.0-*" 
      } 
     } 
    } 
} 
+0

[Новое изображение окна проекта] (http://i.imgur.com/mbpUPYe.png) отображает окно, которое появляется, когда я создаю новое решение, сообщает мне, что im использует '' 'Class Library (Package) '' 'как вы упомянули. Его таргетинг .net 4.5.2, показывающий DNX 4.5.1 в окне, я удалил dnxcore50 из фреймворков, как вы упомянули, без результата. Я обновил вопрос с помощью файлов project.json. – Christer

+0

Две вещи, которые вы можете попробовать, - это обновление рамки вашей библиотеки классов от 'dotnet' до' dnx451' и перемещение зависимости из подраздела 'dnx451' в раздел главной зависимости. Я не думаю, что это тоже должно измениться, но это стоит того. –

+0

Хорошо, так что обновление dotnet до dnx451 работало, но тот же самый нельзя сказать об исходной проблеме, когда у меня есть приложение MVC и библиотека классов (свежие из коробки). Похоже, что веб-приложение не имеет ссылки на DNX 4.5.2/1 – Christer

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