加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 无法加载自定义配置文件提供程序中的类型

发布时间:2020-12-15 17:45:13 所属栏目:百科 来源:网络整理
导读:我正在C#中编写一个小型控制台应用程序,引用一个自定义程序集来实现自定义的.net配置文件提供程序.我将以下部分添加到我的app.config文件中,该文件引用了自定义类和程序集. system.webprofile defaultProvider="MyCompanyProfileProvider" inherits="MyCompa
我正在C#中编写一个小型控制台应用程序,引用一个自定义程序集来实现自定义的.net配置文件提供程序.我将以下部分添加到我的app.config文件中,该文件引用了自定义类和程序集.
<system.web>
<profile defaultProvider="MyCompanyProfileProvider" inherits="MyCompany.Web.User.GenericProfile" automaticSaveEnabled="false">
    <providers>
        <clear/>
        <add name="MyCompanyProfileProvider" connectionStringName="defaultDatabase" applicationName="/myApplication" type="MyCompany.Web.ProfileProvider,MyCompany.Web"/>
    </providers>
    <properties>
        <add name="JobRoleId" type="System.Int32"/>
        <add name="LastCompetencyId" type="System.Int32" defaultValue="0"/>
        <add name="MixSettings" type="System.Xml.XmlDocument"/>
    </properties>
</profile></system.web>

但是,当我以调试模式运行应用程序时,会收到以下错误,就像它在System.Web程序集中看到的那样,而不是在app.config文件中指定的那样.

无法从程序集“System.Web,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a”加载类型“MyCompany.Web.User.GenericProfile”.

我有一个本地的网络应用程序,它也使用程序集和自定义配置文件提供程序,并且工作没有任何问题.我已经检查了引用的程序集是否被复制到输出目录.

有任何想法吗??

解决方法

我终于找到了这个答案,这样很简单! (他在搜索和调试几个小时后说).

我只需要明确地说明我的定制提供者驻留在哪个程序集中.我以为我只是在添加提供者时指定类型时才需要这样做.

但是,您需要定义在inherits属性中定义配置文件的时间.像这样:

之前:

<profile defaultProvider="MyCompanyProfileProvider"
         inherits="MyCompany.Web.User.GenericProfile"
         automaticSaveEnabled="false">

后:

<profile defaultProvider="MyCompanyProfileProvider" 
         inherits="MyCompany.Web.User.GenericProfile,MyCompany.Web" 
         automaticSaveEnabled="false">

希望这样可以帮助别人在将来遇到同样的问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读