已导入具有等效标识的多个程序集:'<in-memory assembly =“”>'和'<in-memory assembly =“”>'

时间:2015-09-22 05:31:29

标签: asp.net docker asp.net-core windows-server

当我尝试启动容器时,我收到以下错误。这是一个简单的asp.net vnext Web应用程序。我试图在Windows Server 2016中托管这个内部的docker容器。请建议。

System.IO.FileLoadException: Could not load file or assembly 'samplewebapplication' or one of its dependencies. General Exc
eption (Exception from HRESULT: 0x80131500)
File name: 'samplewebapplication' ---> Microsoft.Framework.Runtime.Roslyn.RoslynCompilationException: error CS1703: Multipl
e assemblies with equivalent identity have been imported: '<in-memory assembly>' and '<in-memory assembly>'. Remove one
of the duplicate references.
   at Microsoft.Framework.Runtime.Roslyn.RoslynProjectReference.Load(IAssemblyLoadContext loadContext)
   at Microsoft.Framework.Runtime.Loader.ProjectAssemblyLoader.Load(AssemblyName assemblyName, IAssemblyLoadContext load
Context)
   at Microsoft.Framework.Runtime.Loader.ProjectAssemblyLoader.Load(AssemblyName assemblyName)
   at dnx.host.LoaderContainer.Load(AssemblyName assemblyName)
   at dnx.host.DefaultLoadContext.LoadAssembly(AssemblyName assemblyName)
   at Microsoft.Framework.Runtime.Loader.AssemblyLoaderCache.GetOrAdd(AssemblyName name, Func`2 factory)
   at Microsoft.Framework.Runtime.Loader.LoadContext.LoadAssemblyImpl(AssemblyName assemblyName)
   at Microsoft.Framework.Runtime.Loader.LoadContext.TryLoadAssembly(LoadContext context, AssemblyName assemblyName, Ass
embly& assembly)
   at Microsoft.Framework.Runtime.Loader.LoadContext.ResolveAssembly(Object sender, ResolveEventArgs args)
   at System.AppDomain.OnAssemblyResolveEvent(RuntimeAssembly assembly, String assemblyFullName)
   at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Runtim
eAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntro
spection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Runtime
Assembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntros
pection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, Ru
ntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIn
trospection, Boolean suppressSecurityChecks)
   at System.Reflection.Assembly.Load(AssemblyName assemblyRef)
   at Microsoft.AspNet.Hosting.Startup.StartupLoader.FindStartupType(String startupAssemblyName, IList`1 diagnosticMessa

这是Project.json文件内容。

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

"dependencies": {
"Microsoft.AspNet.Diagnostics": "1.0.0-beta6",
"Microsoft.AspNet.Mvc": "6.0.0-beta6",
"Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-beta6",
"Microsoft.AspNet.Server.IIS": "1.0.0-beta6",
"Microsoft.AspNet.Server.WebListener": "1.0.0-beta6",
"Microsoft.AspNet.StaticFiles": "1.0.0-beta6",
"Microsoft.AspNet.Tooling.Razor": "1.0.0-beta6",
"Microsoft.Framework.Configuration.Json": "1.0.0-beta6",
"Microsoft.Framework.Logging": "1.0.0-beta6",
"Microsoft.Framework.Logging.Console": "1.0.0-beta6",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-beta6",
"AzureCloudTableContext": "2.2.0-beta",
"Sendgrid": "6.1.0",
"Microsoft.AspNet.WebPages": "3.2.3"
},

"commands": {
"web": "Microsoft.AspNet.Hosting --config hosting.ini"
},

"frameworks": {
"dnx451": {
  "dependencies": {
    "System.Net.Http.Formatting.Extension": "5.2.3.0",
    "System.Configuration.Abstractions": "2.0.2.24",
    "System.Net.Http": "4.0.1-beta-23225",
    "System.Runtime.Serialization.Primitives": "4.0.10-*",
    "System.Runtime": "4.0.20-beta-22816",
    "System.Collections": "4.0.0.0",
    "System.IO": "4.0.0.0",
    "System.Text.Encoding": "4.0.0.0",
    "System.Threading.Tasks": "4.0.0.0",
    "System.Collections.Concurrent": "4.0.0.0",
    "System.Linq": "4.0.0.0"
  },
  "frameworkAssemblies": {
    "System.Core": "",
    "System": "",
    "mscorlib": "",
    "System.ComponentModel.DataAnnotations": "4.0.0.0",
    "System.Data": "4.0.0.0",
    "System.Data.Services.Client": "4.0.0.0",
    "System.Data.Linq": "4.0.0.0",
    "System.Configuration": "4.0.0.0",
    "System.Security": "4.0.0.0",
    "System.Xml": "4.0.0.0",
    "System.Xml.Linq": "4.0.0.0",
    "System.Net": "4.0.0.0"
  }
}
},

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

1 个答案:

答案 0 :(得分:0)

全部,经过几天的追逐和多次实验。我缩小了。问题是我试图仅使用 dnx451 框架推送asp.net vnext应用程序。包含 dnxcore50 后,我能够将应用程序推送到Windows Server 2016内的Docker Container。

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