【问题标题】:Can I use dynamic in a .NET Standard class library?我可以在 .NET Standard 类库中使用动态吗?
【发布时间】:2016-12-12 10:14:31
【问题描述】:

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

我注意到 ASP MVC Core 对 .NETCoreApp 的引用和类库项目对 .NETStandard 的引用。

我的问题是我需要在类库中使用dynamic关键字,它不支持。 MVC 项目支持没有任何问题。我猜这是因为不同的 .NET 版本。

  1. NETStandard 和 NETCoreApp 有什么区别?

  2. 我能否创建一个使用与 MVC 项目相同的引用的类库,以便在其上使用 dynamic 关键字?

  3. 或者我应该坚持一个项目解决方案,将所有域、基础设施等放在同一个地方?

【问题讨论】:

    标签: c# .net asp.net-core-mvc .net-core


    【解决方案1】:

    是的,可以将非 UI 代码放入单独的库中。如您所料,netcoreapp1.0 用于应用程序(控制台或 Web),netstandard1.X 用于类库。

    .NET Standard 类库不应该对 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"
        }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-18
      • 2020-02-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多