【问题标题】:How to include reference to assembly in ASP.NET Core project如何在 ASP.NET Core 项目中包含对程序集的引用
【发布时间】:2016-11-23 12:17:29
【问题描述】:

我有这条线

string sConnectionString = ConfigurationManager.ConnectionStrings["Hangfire"].ConnectionString;

它需要包含System.Configuration

我必须在项目的哪个地方添加对System.Configuration 的引用,因为我在References 下找不到一个经典的地方来做它?

【问题讨论】:

标签: c# .net visual-studio-2015 asp.net-core assembly-references


【解决方案1】:

您所遵循的教程可能是使用面向完整 .Net Framework (4.6) 的 Asp.Net Core,该框架能够依赖 System.Configuration(CoreFX 不支持且不可移植)。

.Net Core 项目(跨平台)使用基于Microsoft.Extensions.Configuration 而不是System.Configuration 的不同配置模型。

假设您的Hangfire 连接字符串在您的appsettings.json 中定义:

{
     "ConnectionStrings": {
         "HangFire": "yourConnectionStringHere"
     }
}

你可以在Startup.cs阅读它:

public class Startup
{
    public Startup(IHostingEnvironment env)
    {
        var builder = new ConfigurationBuilder()
            .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)

        this.Configuration = builder.Build();

        var hangFireCS = this.Configuration.GetConnectionString("HangFire");
    }
}

此外,您还需要 Microsoft.Extensions.Configuration.Json 包才能使用 AddJsonFile() 扩展方法。

【讨论】:

  • 我同意你的观点,但为什么我所面临的手册提出了 Asp.Net Core 现在不支持的旧方法?这是否意味着手册不正确?
  • 它本身并没有什么“不正确”的地方。您可以构建面向完整框架 (4.6) 的 Asp.Net Core 应用程序。但是您不会获得 Core 框架的所有好处和可移植性。
【解决方案2】:

@Dimi 右键单击​​ References 文件夹 -> 添加引用 -> 搜索配置 -> 检查 System.Configuration -> 点击确定。

然后在您的 .cs 文件上添加命名空间,即

使用 System.Configuration;

【讨论】:

  • 它说没有找到物品
  • 对不起,我看不到像你一样的窗口。我已经创建了 ASP.NET Core Webapi 项目。请查看我更新的问题
  • 访问以上链接
  • @Dimi:这是 ASP.NET Core/.NET Core,它是完全模块化的,基于 NuGet 包。您不会像以前使用 .NET Framework 那样将文件放在周围。无论你需要什么,你都需要在 project.json 中引用它(VS2017 来时很快就会在 csproj 中)
猜你喜欢
  • 2017-12-31
  • 1970-01-01
  • 2016-10-17
  • 1970-01-01
  • 2016-10-12
  • 2021-02-01
  • 2021-11-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多