-1

我有两个项目Portfolio.Domain和Portfolio.Web。 我在Portfolio.Web中添加了参考文献Portfolio.Web 我需要先使用代码工作。 但得到的错误:为什么不能找到程序集

The type 'Portfolio.Domain.Context, Portfolio.Domain' could not be found. The type name must be an assembly-qualified name. 

的web.config:

<?xml version="1.0" encoding="utf-8"?> 
<!-- 
    For more information on how to configure your ASP.NET application, please visit 
    http://go.microsoft.com/fwlink/?LinkId=152368 
    --> 
<configuration> 
    <configSections> 
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
    </configSections> 
    <connectionStrings> 
    <add name="DataContext" providerName="System.Data.SqlClient" connectionString="Data Source=USER\SQLEXPRESS;Initial Catalog=Portfolio;Integrated Security=True;Pooling=False;User Instance = False;MultipleActiveResultSets=true" /> 
    </connectionStrings> 

    <appSettings> 
    <add key="webpages:Version" value="1.0.0.0" /> 
    <add key="ClientValidationEnabled" value="true" /> 
    <add key="UnobtrusiveJavaScriptEnabled" value="true" /> 
    <add key="DatabaseInitializerForType Portfolio.Domain.Context, Portfolio.Domain" value="Portfolio.Web.Context.DataContextInitializer, Portfolio.Web" /> 

    </appSettings> 
    <system.web> 
    <!--Replace your existing membership config with this one--> 
    <membership defaultProvider="CodeFirstMembershipProvider"> 
     <providers> 
     <add name="CodeFirstMembershipProvider" type="CodeFirstMembershipSharp.CodeFirstMembershipProvider" connectionStringName="DataContext" /> 
     </providers> 
    </membership> 
    <!--Profile provider not supported, extend your code with Code-First--> 
    <profile enabled="false"> 
     <providers> 
     <clear /> 
     </providers> 
    </profile> 
    <!--Replace your existing roleManager config with this one--> 
    <roleManager enabled="true" defaultProvider="CodeFirstRoleProvider"> 
     <providers> 
     <clear /> 
     <add name="CodeFirstRoleProvider" type="CodeFirstMembershipSharp.CodeFirstRoleProvider" connectionStringName="DataContext" /> 
     </providers> 
    </roleManager> 
    <!--compilation--> 

    <authentication mode="Forms"> 
     <forms loginUrl="~/Account/LogOn" timeout="2880" /> 
    </authentication> 
    <!--pages--> 
    </system.web> 
    <system.webServer> 
    <validation validateIntegratedModeConfiguration="false" /> 
    <modules runAllManagedModulesForAllRequests="true" /> 
    </system.webServer> 
    <!--<runtime>--> 

    <entityFramework> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"> 
     <parameters> 
     <parameter value="Data Source=USER\SQLEXPRESS;Initial Catalog=Portfolio;Integrated Security=True;Pooling=False;User Instance = False;MultipleActiveResultSets=true" /> 
     </parameters> 
    </defaultConnectionFactory> 
    </entityFramework> 
</configuration> 

回答

1

你完全合格的组件名称。例如:

Context.DataContext, Portfolio.Domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 

获取程序集全名最简单的方法之一是在ILSpy/Reflector中打开它。其他获得装配合格名称的方法是执行以下snipet

typeof(Context.DataContext).AssemblyQualifiedName 
+0

如何获得完整的程序集名称? – Mediator

+0

我已经更新了我的答案 – Novakov

相关问题