【发布时间】:2016-08-04 13:21:05
【问题描述】:
我遇到了一个非常简单的问题。
我想加载本地 .NET 4 类库 (dll) 项目以用作我的新 ASP.NET Web API 项目中的资源(第一次尝试 asp.net)
我熟悉 Winforms 应用程序,现在尝试创建一个 ASP.NET Web API,以便能够从 PHP/linux 服务器访问我的一个帮助程序 DLL。我不确定这是否是一个好方法,但我试图阻止在 PHP 代码中重新实现 DLL 的逻辑。
现在的问题是我无法将 DLL 或库类项目添加到 Web API 项目的资源中。
在尝试解决我尝试过的问题时:
- Visual Studio 2015 新项目->ASP.NET Web 应用程序->ASP.NET Core 1.0 模板->Web API
- 为 Web API 解决方案创建新的类库项目(或导入现有项目)
- 将项目添加到 Web API 项目参考中
- 将类库命名空间的 using 指令添加到控制器
- 尝试构建却报错:
错误 CS0246 找不到类型或命名空间名称“ClassLibrary1”(您是否缺少 using 指令或程序集引用?)WebApplication1.DNX Core 5.0
对我来说,它似乎正试图从 nuget 或其他东西中获取资源。
我希望有人可以轻松地指出我的错误,以便我可以继续进行实际工作。 (或者我只是想念使用 Web API 的概念?)
项目.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"
]
}
【问题讨论】:
-
您是否尝试使用文件 > 现有项目将库添加到您的解决方案中?然后在你的 webapi 项目中添加对它的引用?
-
我也曾尝试过这种方式,但同样失败了。因此,我尝试消除所有其他错误来源,因此我将创建新的库类项目交给了 web api,同样的原因将其用作问题的示例。
-
也许您可以设置本地 NuGet 提要,并通过该 nuget 提要安装参考。教程在这里:docs.nuget.org/create/hosting-your-own-nuget-feeds
-
等等,我想我发现了你的问题哈哈。你可以删除 dnxcore50 部分吗?我忽略了它。这部分意味着它正在尝试针对最新版本的 dnx 编译库,如果您依赖特定于框架的代码,则会失败。
-
@Repeat Spacer dnxcore50 的东西仍处于 RC 状态,最终版本尚未公布。所以也许你暂时可以不用它。
标签: dll asp.net-web-api asp.net-core class-library