具有等效标识的多个程序集 - System.Runtime.dll

时间:2015-11-02 22:23:04

标签: asp.net-core-mvc dnx

我有一个带beta-8的MVC6项目,当我添加System.Security.Claims nuget包时,我会得到以下编译错误:

  

错误CS1703已导入具有等效标识的多个程序集:'C:\ Users \ username.dnx \ packages \ System.Runtime \ 4.0.20 \ ref \ dotnet \ System.Runtime.dll'和'C:\ Program文件(x86)\参考程序集\ Microsoft \ Framework.NETFramework \ v4.5.1 \ Facades \ System.Runtime.dll'。删除其中一个重复的引用。

非常感谢任何有关解决此问题的指导!

我能够从一个简单的新项目中复制,Beta8Class只是解决方案中的一个通用类库,这里是project.json:

{
  "webroot": "wwwroot",
  "version": "1.0.0-*",

  "dependencies": {
    "Beta8Class": "1.0.0-*",
    "Microsoft.AspNet.Diagnostics": "1.0.0-beta8",
    "Microsoft.AspNet.IISPlatformHandler": "1.0.0-beta8",
    "Microsoft.AspNet.Mvc": "6.0.0-beta8",
    "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-beta8",
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-beta8",
    "Microsoft.AspNet.StaticFiles": "1.0.0-beta8",
    "Microsoft.AspNet.Tooling.Razor": "1.0.0-beta8",
    "Microsoft.Framework.Configuration.Json": "1.0.0-beta8",
    "Microsoft.Framework.Logging": "1.0.0-beta8",
    "Microsoft.Framework.Logging.Console": "1.0.0-beta8",
    "Microsoft.Framework.Logging.Debug": "1.0.0-beta8",
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-beta8",
    "System.Security.Claims": "4.0.1-beta-23409"
  },

  "commands": {
    "web": "Microsoft.AspNet.Server.Kestrel"
  },

  "frameworks": {
    "dnx451": { },
    "dnxcore50": { }
  },

  "exclude": [
    "wwwroot",
    "node_modules"
  ],
  "publishExclude": [
    "**.user",
    "**.vspscc"
  ],
  "scripts": {
    "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ]
  }
}

由于

2 个答案:

答案 0 :(得分:2)

你会得到相互矛盾的参考,因为这是一个测试版,混合两个不同的版本会导致参考冲突。您应该使用所有beta8版本。

如果您需要具有安全性的内容,可以使用这些软件包

    "Microsoft.AspNet.Authentication.Cookies": "1.0.0-beta8",
    "Microsoft.AspNet.Authentication.Facebook": "1.0.0-beta8",
    "Microsoft.AspNet.Authentication.Google": "1.0.0-beta8",
    "Microsoft.AspNet.Authentication.MicrosoftAccount": "1.0.0-beta8",
    "Microsoft.AspNet.Authentication.Twitter": "1.0.0-beta8",

答案 1 :(得分:1)

System.Security.Clamis包版本4.0.1-beta-23409仅支持dnxcore5。尝试删除dnx451目标框架。

您可以在NuGet画廊确认:

https://www.nuget.org/packages/System.Security.Claims/4.0.1-beta-23409

另一条线索是,您的错误消息表示它会搜索dotnet文件夹。我还不完全确定这些生成器是如何工作的,但这只是核心目标框架的绰号。