Для кросс-платформенной разработки я пытаюсь создать общую библиотеку .NET Core. Я использовал шаблон проекта Class Library (package)
в VS 2015. Моя библиотека должна использовать несколько механизмов отражения, которые я знаю из полной .NET Framework, но я не понимаю, как получить доступ к ним в библиотеке .NET Core. В частности:
- Тип
Delegate
имеет свойствоMethod
, которое возвращает объектMethodInfo
. - Класс
Type
имеет свойствоBaseType
, свойствоFilterName
, методInvokeMember
и методFindMembers
, который я не могу найти в .NET Core.
Я добавил пакеты NuGet, которые, как утверждается, имеют фрагменты отражения, которые мне нужны:
"frameworks": {
"net451": {
"dependencies": {
"System.Reflection": "4.1.0-beta-23516",
"System.Reflection.Extensions": "4.0.1-beta-23516",
"System.Reflection.Primitives": "4.0.1-beta-23516",
}
},
"dotnet5.4": {
"dependencies": {
"Microsoft.CSharp": "4.0.1-beta-23516",
"System.Collections": "4.0.11-beta-23516",
"System.Linq": "4.0.1-beta-23516",
"System.Reflection": "4.1.0-beta-23516",
"System.Reflection.Extensions": "4.0.1-beta-23516",
"System.Reflection.Primitives": "4.0.1-beta-23516",
"System.Runtime": "4.0.21-beta-23516",
"System.Threading": "4.0.11-beta-23516"
}
}
},
"dependencies": {
"System.Reflection.TypeExtensions": "4.1.0-beta-23516"
}
Я также добавил using System.Reflection
, но я все еще получаю ошибки, указывающие, что эти свойства и типы undefined.
Что я делаю неправильно?
В случае, если это актуально, на этом же компьютере команда dnvm list
показывает:
Active Version Runtime Architecture OperatingSystem Alias
------ ------- ------- ------------ --------------- -----
1.0.0-rc1-update1 clr x64 win
1.0.0-rc1-update1 clr x86 win
1.0.0-rc1-update1 coreclr x64 win
* 1.0.0-rc1-update1 coreclr x86 win default
Выше было именно то, что я хочу... или, по крайней мере, то, что, я думаю, хочу.;)