Я пытаюсь перенести библиотеку в ASP.NET CORE, но изо всех сил пытаюсь заставить Visual Studio ссылаться на все важные части. Я заметил, что mscorlib добавляется только к ссылкам в ASP.NET 5.0, но не под ASP.NET CORE. В обеих рамках я не получаю базовые типы, такие как System.Object, даже когда mscorelib ссылается в ASP.NET 5.0Mscorlib не указан в Asp.Net 5 Библиотека классов
Сначала я работал с бета-2, но потом я создал свой собственный CoreCLR и установил его на своей машине с помощью kvm.
список Kvm показывает следующее:
Active Version Runtime Architecture Location Alias
------ ------- ------- ------------ -------- -----
1.0.0-beta4-11037 clr x64 C:\Users\SomeName\.k\runtimes
1.0.0-beta4-11037 clr x86 C:\Users\SomeName\.k\runtimes
* 1.0.0-beta4-11037 coreclr x64 C:\Users\SomeName\.k\runtimes default
1.0.0-beta4-11037 coreclr x86 C:\Users\SomeName\.k\runtimes
Когда я пытаюсь отлаживать проект в визуальной студии он работает только под бета2 но не под моей пользовательской сборки. Поэтому мне нужно запустить проект вручную с помощью:
k run -r CoreCLR -X64
И все работает отлично.
Я могу отладить этот запущенный проект в Visual Studio, добавив к нему отладчик, но это не очень хороший опыт. Конечно, это бета-состояние, но, возможно, что-то не так с моей настройкой, и кто-то может мне помочь.
project.json
{
"version": "1.0.0-*",
"dependencies": {
"Microsoft.Framework.ConfigurationModel": "1.0.0-beta4-1083",
"Microsoft.Framework.ConfigurationModel.Json": "1.0.0-beta4-10837",
"Microsoft.Framework.ConfigurationModel.Xml": "1.0.0-beta4-10837",
"System.Collections": "4.0.10-beta-22613",
"System.Collections.Concurrent": "4.0.10-beta-22613",
"System.Collections.NonGeneric": "4.0.0-beta-22613",
"System.Collections.Specialized": "4.0.0-beta-22613",
"System.ComponentModel": "4.0.0-beta-22613",
"System.ComponentModel.Annotations": "4.0.10-beta-22613",
"System.ComponentModel.EventBasedAsync": "4.0.10-beta-22613",
"System.ComponentModel.TypeConverter": "4.0.0-beta-22613",
"System.Diagnostics.Tools": "4.0.0-beta-22613",
"System.Diagnostics.TraceSource": "4.0.0-beta-22613",
"System.Dynamic.Runtime": "4.0.10-beta-22613",
"System.Linq": "4.0.0-beta-22613",
"System.Linq.Expressions": "4.0.0-beta-22613",
"System.ObjectModel": "4.0.10-beta-22613",
"System.Reflection": "4.0.10-beta-22613",
"System.Reflection.Emit.ILGeneration": "4.0.0-beta-22613",
"System.Reflection.Extensions": "4.0.0-beta-22613",
"System.Reflection.Primitives": "4.0.0-beta-22613",
"System.Reflection.TypeExtensions": "4.0.0-beta-22613",
"System.Runtime": "4.0.20-beta-22613",
"System.Runtime.Extensions": "4.0.10-beta-22613",
"System.Runtime.Serialization.Json": "4.0.0-beta-22613",
"System.Runtime.Serialization.Primitives": "4.0.0-beta-22613",
"System.Runtime.Serialization.Xml": "4.0.10-beta-22613",
"System.Security.AccessControl": "4.0.0-beta-22613",
"System.Security.Claims": "4.0.0-beta-22613",
"System.Security.Principal": "4.0.0-beta-22613",
"System.Security.Principal.Windows": "4.0.0-beta-22613",
"System.Text.RegularExpressions": "4.0.10-beta-22613",
"System.Threading": "4.0.10-beta-22613",
"System.Threading.AccessControl": "4.0.0-beta-22613",
"System.Threading.Tasks": "4.0.10-beta-22613",
"System.Threading.Thread": "4.0.0-beta-22613",
"System.Threading.ThreadPool": "4.0.10-beta-22613"
},
"frameworks": {
"aspnet50": {
"dependencies": {
}
},
"aspnetcore50": {
"dependencies": {
}
}
}
Update Я заметил, что Visual Studio разве загружаются соответствующие пакеты, даже когда его показ освежающий, так что я обновленное все так:
kpm restore
Это улучшенный все на много. Но все же я не могу запустить его правильно в Visual Studio, потому что я получаю исключение загрузки типа при загрузке System.Threading. Запуск вручную по-прежнему не представляет проблемы.
Похоже, мне нужно подождать, пока следующая версия Visual Studio не выйдет, чтобы получить лучший опыт.
Я хотел бы знать, где я получаю исходный код System.Runtime, чтобы проверить, что реализовано в ASPNETCORE50.
Mscorlib существует только для настольных ПК ('aspnet50'). В CoreCLR ('aspnetcore50') он был разбит во многих небольших пакетах, таких как' System.Runtime' и 'System.Threading'. Что вы подразумеваете под «работает только под бета-версией 2, но не под моей пользовательской сборкой»? Вы получили сообщение об ошибке? –
В ответ на ваш вопрос, если я получу какие-либо ошибки. Visual Studio говорит мне, что мне нужно сначала установить свою версию во время ее использования. Но когда его не установлено, почему я могу использовать его с k, просто отлично? Я использую dev-версию kvm btw, если это помогает. –
А ... Между Beta2 и Beta4 структура папок изменилась. Публичная версия VS не понимает последней версии. Извините, вы ничего не можете сделать, пока не появится обновленная утилита VS. Если вы используете VS, используйте Beta2 сейчас. –