Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET 5(vNext)和dnx451依赖项的配置_Asp.net_.net_.net Core_Asp.net Core - Fatal编程技术网

ASP.NET 5(vNext)和dnx451依赖项的配置

ASP.NET 5(vNext)和dnx451依赖项的配置,asp.net,.net,.net-core,asp.net-core,Asp.net,.net,.net Core,Asp.net Core,我对ASP.NET vNext非常陌生,我正在努力配置项目中的依赖项。 我在project.json的dnx451部分中定义了一些依赖项。他们通常通过类似ConfigurationManager的方式从旧式app.config文件加载设置 <appSettings> <add key="myConfigKey" value="myConfigValue" /> </appSettings> 我了解了如何在基本ASP.NET 5中配置应用程序,如下所述

我对ASP.NET vNext非常陌生,我正在努力配置项目中的依赖项。 我在project.json的dnx451部分中定义了一些依赖项。他们通常通过类似ConfigurationManager的方式从旧式app.config文件加载设置

<appSettings>
    <add key="myConfigKey" value="myConfigValue" />
</appSettings>
我了解了如何在基本ASP.NET 5中配置应用程序,如下所述:

所以我的问题是:有没有办法让依赖程序集知道它们的配置值


致以最诚挚的问候

您应该通过构造函数或属性注入将值传递到程序集中。像AutoFac这样的DI容器可以帮助您轻松地完成这项工作,但您可以不使用poor man的DI来完成这项工作

public class SomeClassInAssembly
{
    private readonly string _configValue;

    public SomeClassInAssembly(string configValue)
    {
        _configValue = configValue;
    }

    // Some method that now has access to your variable

}

然后在调用的应用程序中,只需以通常的方式从配置中检索并将其传递给恐怕直接使用
ConfigurationManager
的库在ASP.NET 5下无法工作。您需要更新库或让他们更新库以抽象配置部分,以便您可以通过编程方式传递配置。

实际答案如下:

就像奥列格在上面的评论中说的那样

我可以将app.config放在我的DLL旁边,并可以像那样配置我的第三方LIB


无论如何,感谢您的回答。

请查看文档的列表。“让依赖程序集知道其配置值的方法”的含义还不完全清楚。您是否在类库中决定了您的应用程序需要访问
appconfig.json
的某些部分?你有什么接口?您可以将全局配置的一部分转发到类库吗?ASP.NET 5文档,但您可以使用
new ConfigurationBuilder().AddJsonFile(“appsettings.json”).Build().GetSection(“PathToMyConfigKey”)
感谢您的回复。实际上,我对这些类库没有影响,也不会像上面描述的那样以旧的方式加载它们的配置。它们被构建为可以直接访问app.config并从中获取appSettings。我只是想知道是否有办法加载这些设置。对不起,我还是不完全理解你的问题。如果您删除了
dnxcore50
并在项目中仅使用
dnx451
,那么它将使用您知道的相同.NET Framework 4.5.1。如果某个组件直接访问某个XML文件并直接读取某个myConfigKey,那么它将获得该值。如果我们仅仅把“一些遗留依赖程序集”写成“黑盒”,那就很难说什么了。你试过用它吗?你有什么问题吗?没有人可以肯定地说,某些未知的旧代码在已更改的环境中正常工作。我确实删除了dnxcore50。以下是我现在还不明白的:我可以将app.config也添加到我的项目中吗?事实上,我从未尝试将app.config添加到ASP.NET 5项目中。谢谢您的回答。好的,因为我没有访问类库的权限,而且它们以上述方式直接从app.config加载设置,所以我无法将配置注入到类中。
public class SomeClassInAssembly
{
    private readonly string _configValue;

    public SomeClassInAssembly(string configValue)
    {
        _configValue = configValue;
    }

    // Some method that now has access to your variable

}