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