我可以在 .NET Standard class 库中使用动态吗?
Can I use dynamic in a .NET Standard class library?
我很难尝试从常规 Windows 桌面开发迁移到 ASP.NET Core MVC。我遇到的一个问题是创建我的解决方案。我想从 VS 2015 附带的默认项目中删除与 UI 无关的所有内容,并放入一个单独的项目中。
我注意到 ASP MVC 核心引用了 .NETCoreApp
,Class 库项目引用了 .NETStandard
。
我的问题是我需要使用 class 库中的 dynamic
关键字,但它不支持。 MVC项目支持没有任何问题。我想这是因为不同的 .NET 版本。
NETStandard 和 NETCoreApp 有什么区别?
我可以创建一个 class 库,它使用与 MVC 项目相同的引用,以便我可以在上面使用 dynamic 关键字吗?
或者我应该坚持将所有域、基础设施等放在同一个地方的单一项目解决方案吗?
是的,可以将非UI 代码放入单独的库中。如您所料,netcoreapp1.0
用于应用程序(控制台或 Web),netstandard1.X
用于 class 库。
.NET Standard class 库不应该对 dynamic
关键字有任何问题。不过,您确实需要引用 NETStandard.Library
。这是一个准系统工作库示例:
MyLibrary/project.json
{
"description": "My awesome library",
"dependencies": {
"NETStandard.Library": "1.6.0"
},
"frameworks": {
"netstandard1.3": { }
}
}
如果您的 ASP.NET 核心 Web 应用程序是同一解决方案的一部分,则它可以引用此库:
{
(... other stuff)
"dependencies": {
"MyLibrary": {
"target": "project"
}
}
}
我很难尝试从常规 Windows 桌面开发迁移到 ASP.NET Core MVC。我遇到的一个问题是创建我的解决方案。我想从 VS 2015 附带的默认项目中删除与 UI 无关的所有内容,并放入一个单独的项目中。
我注意到 ASP MVC 核心引用了 .NETCoreApp
,Class 库项目引用了 .NETStandard
。
我的问题是我需要使用 class 库中的 dynamic
关键字,但它不支持。 MVC项目支持没有任何问题。我想这是因为不同的 .NET 版本。
NETStandard 和 NETCoreApp 有什么区别?
我可以创建一个 class 库,它使用与 MVC 项目相同的引用,以便我可以在上面使用 dynamic 关键字吗?
或者我应该坚持将所有域、基础设施等放在同一个地方的单一项目解决方案吗?
是的,可以将非UI 代码放入单独的库中。如您所料,netcoreapp1.0
用于应用程序(控制台或 Web),netstandard1.X
用于 class 库。
.NET Standard class 库不应该对 dynamic
关键字有任何问题。不过,您确实需要引用 NETStandard.Library
。这是一个准系统工作库示例:
MyLibrary/project.json
{
"description": "My awesome library",
"dependencies": {
"NETStandard.Library": "1.6.0"
},
"frameworks": {
"netstandard1.3": { }
}
}
如果您的 ASP.NET 核心 Web 应用程序是同一解决方案的一部分,则它可以引用此库:
{
(... other stuff)
"dependencies": {
"MyLibrary": {
"target": "project"
}
}
}