代码之家  ›  专栏  ›  技术社区  ›  Cragly

无法在自定义配置文件提供程序中加载类型

  •  10
  • Cragly  · 技术社区  · 16 年前

    <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文件中指定的程序集中查找一样。

    我有一个本地的网络应用程序,也使用程序集和自定义配置文件供应商,没有任何问题的工作。我已检查引用的程序集是否正在复制到输出目录。

    有什么想法吗??

    3 回复  |  直到 10 年前
        1
  •  20
  •   Kobi    10 年前

    我只需要明确地说出我的自定义提供程序所在的程序集。我想我只需要在添加提供者时指定类型就可以了。

    之前:

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

    之后:

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

    希望这能在将来帮助其他人解决同样的问题。

        2
  •  0
  •   Gerrie Schenck    16 年前

    尝试删除逗号后面指定类和程序集的多余空间,但我认为这不会解决问题。

    你的应用程序正在System.Web assembly中查找你的自定义类,这很奇怪。

    fuslogvw 了解更多失败的细节。

        3
  •  0
  •   Richard Hammond    11 年前

    <profile defaultProvider="DefaultProfileProvider" inherits="SmartTariffs_V13.ProfileCommon, SmartTariffs_V13">
      <providers>
        <add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" />
      </providers>
    </profile>