Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.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
C# 无法将ASP.NET标识模型移动到另一个程序集中_C#_Asp.net_Dll_Asp.net Identity - Fatal编程技术网

C# 无法将ASP.NET标识模型移动到另一个程序集中

C# 无法将ASP.NET标识模型移动到另一个程序集中,c#,asp.net,dll,asp.net-identity,C#,Asp.net,Dll,Asp.net Identity,我已尝试按照此链接中描述的步骤,将我的标识类从web应用程序中提取到它自己的类库中 我的工作如下: namespace _3TierExample.Models{…} 创建了一个web表单项目并将其命名为3TierExample 创建了名为3TierExample.Model的新类库 已从NuGet into安装Microsoft ASP.NET Identity EntityFramework包3TierExample.Model 将identityModel.cs移动到新类库(3Tier

我已尝试按照此链接中描述的步骤,将我的标识类从web应用程序中提取到它自己的类库中

我的工作如下:

namespace _3TierExample.Models{…}
  • 创建了一个web表单项目并将其命名为
    3TierExample
  • 创建了名为
    3TierExample.Model
    的新类库
  • 已从NuGet into安装Microsoft ASP.NET Identity EntityFramework包
    3TierExample.Model
  • identityModel.cs
    移动到新类库
    (3TierExample.Model)
  • 3TierExample
  • 然后,对于
    identityModel.cs
    我使用以下参考:

    using Microsoft.AspNet.Identity;
    using Microsoft.AspNet.Identity.EntityFramework;
    using Microsoft.Owin.Security;
    using System.Web;
    using System;
    using _3TierExample.Models;
    
    我的命名空间如下所示:

    namespace _3TierExample.Models{…}
    
    但是,当我完成时,会出现以下错误:

    I:…\3TierExample\3TierExample\Default.aspx:ASP.NET运行时错误:无法加载文件或程序集“Microsoft.AspNet.Identity.Core,Version=2.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。定位的程序集清单定义与程序集引用不匹配。
    (HRESULT的例外:0x8013100)
    I:…\3TierExample\3TierExample\Default.aspx 1 1 3TierExample

    找不到元数据文件“I:…\3TierExample\3TierExample.Model\bin\Debug\3TierExample.Model.dll”

    找不到类型或命名空间名称“HttpRequest”(是否缺少using指令或程序集引用?)

    找不到类型或命名空间名称“HttpResponse”(是否缺少using指令或程序集引用?)

    如果我转到web项目,我会看到对新创建的类库的引用在那里,因此我不知道如何获得第一个错误(No 3)。然后,我认为第二个错误是由于找不到程序集引用而导致的。为什么?参考资料在那里

    有人能帮忙吗


    提前谢谢你

    存在程序集冲突

    创建项目时,它可能具有旧版本的Asp.net标识程序集。您在类库项目中安装了最新的Asp.net标识包。如果要将Asp.net标识上下文与主项目分离,则web项目中不需要该框架


    您可以在创建web项目时设置无身份验证,以确保在引用Asp.net标识类库项目时不会发生冲突。您可能需要从示例Web项目中复制IdentityModels.cs,以便在类库项目中使用。

    非常感谢,我正在实施您的建议,而且似乎有效。帐户文件夹及其所有页面如何?登录、管理、注册……这些都是在选择个人帐户身份验证的项目时自动创建的,除了从头开始设置之外,还有其他选项吗?我知道了。您允许它存在的帐户文件夹,理想情况下应该使用引用的类库项目中的Asp.net标识对象。您可能需要导入命名空间或Ctrl+。将找到UserManager/ApplicationUser或其他对象本身。@马克你好,谢谢你的评论。是的,我知道,这是一个打字错误,我通常打字很快,你会注意到,它是正确的进一步。无论如何,我通常都会通过拼写检查,以防万一,但这次我忘了这么做。不过这一点很好!越正确,问题就越清楚:0)正确拼写它将使您的键入速度更快(每个引用减少键入一个字符:-)!