2015-05-11 5 views
2

Я создаю POC, чтобы увидеть, как трудно было бы создавать наши проекты библиотеки C#, используя новый подход построения DNX. Я установил VS 2015 и начал работать: dnu --version1.0.0-beta4-11566. Мои библиотеки C# по-прежнему нуждаются в поддержке .net 4.0, однако я хочу воспользоваться новым материалом build/nuget, который выходит с project.json + nuget 3.0. Поэтому я создал одно приложение для библиотеки и попытался его использовать в консольном приложении.C# библиотека классов с использованием dnx не будет работать без dnx451

1) ClassLibrary1
2) ConsoleApp1

ClassLibrary1 project.json

{ 
    "version": "1.0.0-*", 
    "description": "poc", 
    "authors": [ "Patrick" ], 
    "tags": [ "" ], 
    "projectUrl": "", 
    "licenseUrl": "", 

    "dependencies": { 
    "Newtonsoft.Json": "6.0.8", 
    "Microsoft.Bcl": "1.1.10" 
    }, 

    "frameworks": { 
    "net40": { } 
    } 
    } 

ConsoleApp1 project.json

{ 
    "version": "1.0.0-*", 
    "description": "Another test", 
    "authors": [ "Patrick" ], 
    "tags": [ "" ], 
    "projectUrl": "", 
    "licenseUrl": "", 

    "dependencies": { 
    "ClassLibrary1": "1.0.0" 
    }, 

    "commands": { 
    "MyProj": "MyProj" 
    }, 

    "frameworks": { 
    "net40": {}, 
    "dnx451": {} 
    } 
} 

Я думал, что я мог бы удалить рамочный dnx451, однако мой консо приложение не будет работать без dnx451 (dnx. бег). Однако он будет строить с использованием dnu build !!! Зачем? Это ошибка, которую я получаю, когда выхожу из dnx451 и пытаюсь запустить ее.

System.InvalidOperationException: Не удалось решить следующие зависимостей для целевой базы 'DnX, Version = v4.5.1': Microsoft.Bcl 1.1.10 Newtonsoft.Json 6.0.8

ответ

0

Проекты DNX могут ссылаться на приложения .NET 4, но я не считаю, что среда исполнения DNX может запускать проект на основе DNX, который ссылается только на проект net40. dnx451 является именем среды выполнения, выполняющейся на .NET 4.5.1, без этого консольное приложение не знает, как загрузить.