【问题标题】:C# Interactive - Could not load file or assemblyC# Interactive - 无法加载文件或程序集
【发布时间】:2017-04-26 16:00:53
【问题描述】:

我正在尝试使用 C# Interactive 尝试一些 mongodb 驱动程序,但是当我尝试创建 MongoClient 时,我得到以下异常:

> var client = new MongoClient();
Could not load file or assembly 'System.Runtime.InteropServices.RuntimeInformation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
  + MongoDB.Driver.Core.Connections.ClientDocumentHelper.CreateOSDocument()
  + Lazy<T>.CreateValue()
  + Lazy<T>.get_Value()
  + MongoDB.Driver.Core.Connections.ClientDocumentHelper.CreateClientDocument(string)
  + MongoDB.Driver.Core.Connections.BinaryConnectionFactory..ctor(MongoDB.Driver.Core.Configuration.ConnectionSettings, MongoDB.Driver.Core.Connections.IStreamFactory, MongoDB.Driver.Core.Events.IEventSubscriber)
  + MongoDB.Driver.Core.Configuration.ClusterBuilder.BuildCluster()
  + MongoDB.Driver.ClusterRegistry.CreateCluster(MongoDB.Driver.ClusterKey)
  + MongoDB.Driver.ClusterRegistry.GetOrCreateCluster(MongoDB.Driver.ClusterKey)
  + MongoDB.Driver.MongoClient..ctor(MongoDB.Driver.MongoClientSettings)
  + MongoDB.Driver.MongoClient..ctor()

这里是复制的全部细节:-

通过命令行安装最新版本的MongoDB驱动。

C:\dev>nuget.exe install MongoDB.Driver -OutputDirectory tools -ExcludeVersion

Feeds used:
  https://api.nuget.org/v3/index.json
  C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\
  C:\Program Files\Microsoft SDKs\Service Fabric\packages\

Attempting to gather dependencies information for package 'MongoDB.Driver.2.4.3' with respect to project 'tools', targeting 'Any,Version=v0.0'
Attempting to resolve dependencies for package 'MongoDB.Driver.2.4.3' with DependencyBehavior 'Lowest'
Resolving actions to install package 'MongoDB.Driver.2.4.3'
Resolved actions to install package 'MongoDB.Driver.2.4.3'
Adding package 'MongoDB.Bson.2.4.3' to folder 'C:\dev\tools'
Added package 'MongoDB.Bson.2.4.3' to folder 'C:\dev\tools'
Successfully installed 'MongoDB.Bson 2.4.3' to tools
Adding package 'System.Runtime.InteropServices.RuntimeInformation.4.0.0' to folder 'C:\dev\tools'
Added package 'System.Runtime.InteropServices.RuntimeInformation.4.0.0' to folder 'C:\dev\tools'
Successfully installed 'System.Runtime.InteropServices.RuntimeInformation 4.0.0' to tools
Adding package 'MongoDB.Driver.Core.2.4.3' to folder 'C:\dev\tools'
Added package 'MongoDB.Driver.Core.2.4.3' to folder 'C:\dev\tools'
Successfully installed 'MongoDB.Driver.Core 2.4.3' to tools
Adding package 'MongoDB.Driver.2.4.3' to folder 'C:\dev\tools'
Added package 'MongoDB.Driver.2.4.3' to folder 'C:\dev\tools'
Successfully installed 'MongoDB.Driver 2.4.3' to tools

打开 C# 交互窗口并导入 dll

Microsoft (R) Roslyn C# Compiler version 2.0.0.61501
Loading context from 'CSharpInteractive.rsp'.
Type "#help" for more information.
> #r "c:\dev\tools\MongoDB.Driver\lib\net45\MongoDB.Driver.dll"
> #r "c:\dev\tools\MongoDB.Bson\lib\net45\MongoDB.Bson.dll"
> #r "c:\dev\tools\MongoDB.Driver.Core\lib\net45\MongoDB.Driver.Core.dll"
> #r "c:\dev\tools\System.Runtime.InteropServices.RuntimeInformation\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll"

然后尝试创建MongoClient

> var client = new MongoClient();
Could not load file or assembly 'System.Runtime.InteropServices.RuntimeInformation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
  + MongoDB.Driver.Core.Connections.ClientDocumentHelper.CreateOSDocument()
  + Lazy<T>.CreateValue()

【问题讨论】:

标签: c# mongodb mongodb-.net-driver c#-interactive


【解决方案1】:

我最近遇到了这个问题,从 web.config 中删除 System.Runtime.InteropServices.RuntimeInformation 代码有效:(如果您有 Windows 应用程序,请检查 app.config)。

删除此代码,它将起作用:

<dependentAssembly>
  <assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-01
    • 2010-10-01
    • 2014-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-17
    相关资源
    最近更新 更多