我可以在.NET标准类库中使用动态吗?

我很难尝试从常规Windows桌面开发迁移到ASP.NET Core MVC。 我遇到的一个问题是创建我的解决方案。 我想从VS 2015随附的默认项目中移除与UI无关的所有内容,并将其放入单独的项目中。

我注意到ASP MVC Core引用了.NETCoreApp ,而类库引用了.NETStandard

我的问题是我需要在类库中使用动态keyworkd,但它不支持它。 MVC项目支持没有任何问题。 我想这是因为不同的.NET版本。

  • NETStandard和NETCoreApp有什么区别?

  • 我可以创建一个与MVC项目使用相同引用的类库,以便我可以使用动态关键字吗?

  • 还是应该坚持一个项目解决方案与所有域名,基础设施等在同一个地方?


  • 是的,可以将非UI代码放入单独的库中。 正如你猜测的那样, netcoreapp1.0适用于应用程序(控制台或网络), 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"
        }
      }
    }
    
    链接地址: http://www.djcxy.com/p/92793.html

    上一篇: Can I use dynamic in a .NET Standard class library?

    下一篇: Proxy object cannot be added to DOM (traps doesn't trigger either)