Dll 使用本地类库作为Web API的资源(ASP.NET Core 1.0)

Dll 使用本地类库作为Web API的资源(ASP.NET Core 1.0),dll,asp.net-web-api,asp.net-core,class-library,Dll,Asp.net Web Api,Asp.net Core,Class Library,我遇到了一个非常简单的问题 我想加载本地.NET 4类库(dll)项目,作为新ASP.NET Web API项目中的资源使用(第一次尝试ASP.NET) 我熟悉Winforms应用程序,现在正在尝试创建一个ASP.NET Web API,以便能够从PHP/linux服务器访问我的助手DLL之一。我不确定这是否是一种好的方法,但我试图防止在PHP代码中重新实现DLL的逻辑 现在的问题是,我无法将DLL或库类项目添加到WebAPI项目的资源中 在尝试解决问题时,我尝试了: Visual Studio

我遇到了一个非常简单的问题

我想加载本地.NET 4类库(dll)项目,作为新ASP.NET Web API项目中的资源使用(第一次尝试ASP.NET)

我熟悉Winforms应用程序,现在正在尝试创建一个ASP.NET Web API,以便能够从PHP/linux服务器访问我的助手DLL之一。我不确定这是否是一种好的方法,但我试图防止在PHP代码中重新实现DLL的逻辑

现在的问题是,我无法将DLL或库类项目添加到WebAPI项目的资源中

在尝试解决问题时,我尝试了:

  • Visual Studio 2015新项目->ASP.NET web应用程序->ASP.NET核心1.0 模板->Web API
  • 为Web API解决方案创建新类库项目(或导入现有项目)
  • 将项目添加到Web API项目引用中
  • 将类库命名空间的using指令添加到控制器
  • 尝试生成时,会出现以下错误:
  • 错误CS0246找不到类型或命名空间名称“ClassLibrary1”(是否缺少using指令或程序集引用?)WebApplication1.DNX Core 5.0

    对我来说,它似乎在试图从nuget或其他地方获取资源

    我希望有人能轻易地指出我的错误,这样我就可以继续从事实际工作。(或者我只是错过了使用Web API概念?)

    project.json

    {
      "version": "1.0.0-*",
      "compilationOptions": {
        "emitEntryPoint": true
      },
    
      "dependencies": {
        "Microsoft.ApplicationInsights.AspNet": "1.0.0-rc1",
        "Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
        "Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
        "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
        "Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
        "Microsoft.Extensions.Configuration.FileProviderExtensions" : "1.0.0-rc1-final",
        "Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final",
        "Microsoft.Extensions.Logging": "1.0.0-rc1-final",
        "Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final",
        "Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final"
      },
    
      "commands": {
        "web": "Microsoft.AspNet.Server.Kestrel",
      },
    
      "frameworks": {
        "dnx451": {
          "dependencies": {
            "ClassLibraryTest2": "1.0.0-*"
          }
        },
        "dnxcore50": { }
      },
    
      "exclude": [
        "wwwroot",
        "node_modules"
      ],
      "publishExclude": [
        "**.user",
        "**.vspscc"
      ]
    }
    

    无需拆下dnxcore50零件

    只需从dnx451中删除
    “ClassLibraryTest2”:“1.0.0-*”
    ,并将依赖项添加到全局依赖项列表中。它将应用于dnx451和dnxcore50

    project.json如下所示:

    {
      "version": "1.0.0-*",
      "compilationOptions": {
        "emitEntryPoint": true
      },
    
      "dependencies": {
        "Microsoft.ApplicationInsights.AspNet": "1.0.0-rc1",
        "Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
        "Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
        "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
        "Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
        "Microsoft.Extensions.Configuration.FileProviderExtensions" : "1.0.0-rc1-final",
        "Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final",
        "Microsoft.Extensions.Logging": "1.0.0-rc1-final",
        "Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final",
        "Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final",
        "ClassLibraryTest2": "1.0.0-*"
      },
    
      "commands": {
        "web": "Microsoft.AspNet.Server.Kestrel",
      },
    
      "frameworks": {
        "dnx451": {
          "dependencies": {            
          }
        },
        "dnxcore50": { }
      },
    
      "exclude": [
        "wwwroot",
        "node_modules"
      ],
      "publishExclude": [
        "**.user",
        "**.vspscc"
      ]
    }
    

    是否尝试使用文件>现有项目将库添加到解决方案中?然后在webapi项目中添加对它的引用?我也曾尝试过这种方法,但同样失败。因此,我尝试删除所有其他错误源,因此我向web api提供了创建新库类项目的建议,原因与将其用作问题示例的原因相同。也许您可以设置本地NuGet提要,并通过该NuGet提要安装引用。这里的教程:等等,我想我发现了你的问题哈哈。您能卸下dnxcore50零件吗?我忽略了它。这一部分意味着它正试图根据最新版本的dnx编译库,如果您依赖特定于框架的代码,则会失败。@重复说明dnxcore50的内容仍处于RC状态,最终版本尚未公布。所以也许你暂时可以不用它。谢谢你的建议。将依赖项移动到那里会给我带来另一个错误:“错误NU1002 project WebApplicationTest2中的依赖项类库Test2 1.0.0不支持framework DNXCore,版本=v5.0。”(类库现在是.NET 4,但我也尝试了更高版本,但出现了相同错误)我还尝试删除了“dnxcore50”:{}从框架和它然后构建,但当尝试在控制器中使用ClassLibrary时,我得到错误“error CS0246找不到类型或命名空间名称'ClassLibraryTest2'(您是否缺少using指令或程序集引用?)”现在,如果我删除dnxcore50并将类库目标更改为.Net 4.5.1,它就可以工作了,实际上,依赖关系是在dnx451中还是在全局依赖关系中并不重要。(但这样我就不能使用.NET4类库,并且失去了dnxcore50依赖项)