我可以在.NET标准类库中使用动态吗
本文关键字:动态 类库 NET 标准 我可以 | 更新日期: 2023-09-27 18:01:15
我很难从常规的Windows桌面开发迁移到ASP.NET Core MVC。我遇到的一个问题是创建我的解决方案。我想从VS2015附带的默认项目中删除所有与UI无关的内容,并将其放入一个单独的项目中。
我注意到ASP MVC Core引用了.NETCoreApp
,类库项目引用了.NETStandard
。
我的问题是,我需要在类库中使用dynamic
关键字,但它不支持。MVC项目支持,没有任何问题。我想这是因为不同的.NET版本。
-
NETStandard和NETCoreApp之间有什么区别?
-
我可以创建一个与MVC项目使用相同引用的类库吗?这样我就可以在上面使用dynamic关键字了?
-
或者,我应该坚持使用一个项目解决方案,将所有域、基础设施等放在同一个位置?
是的,可以将非UI代码放入单独的库中。正如您所猜测的,netcoreapp1.0
用于应用程序(控制台或web(,netstandard1.X
用于类库。
.NET标准类库的dynamic
关键字不应该有任何问题。不过,您确实需要参考NETStandard.Library
。下面是一个基本的工作库示例:
MyLibrary/project.json
{
"description": "My awesome library",
"dependencies": {
"NETStandard.Library": "1.6.0"
},
"frameworks": {
"netstandard1.3": { }
}
}
如果ASP.NET Core web应用程序是以下相同解决方案的一部分,则它可以引用此库:
{
(... other stuff)
"dependencies": {
"MyLibrary": {
"target": "project"
}
}
}