Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.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# 无法加载文件或程序集(DarkRift)_C#_Visual Studio_Unity3d - Fatal编程技术网

C# 无法加载文件或程序集(DarkRift)

C# 无法加载文件或程序集(DarkRift),c#,visual-studio,unity3d,C#,Visual Studio,Unity3d,我一直在与Unity的一个问题作斗争,如果有人能帮助我,我将不胜感激 我正在使用一个名为DarkRift的包,它用于联网和连接客户端与服务器(由DarkRift提供)。为了使用DarkRift服务器,我需要编写插件。插件基本上是一个visual studio项目,编译成.dll文件,然后将该文件复制到服务器端的某个目录。 我已经和DarkRift一起工作了一段时间,并且已经做了很多工作。它工作得很好!然而,我需要使用谷歌的Firestore软件包 因此,我创建了另一个插件,安装了Firestor

我一直在与Unity的一个问题作斗争,如果有人能帮助我,我将不胜感激

我正在使用一个名为DarkRift的包,它用于联网和连接客户端与服务器(由DarkRift提供)。为了使用DarkRift服务器,我需要编写插件。插件基本上是一个visual studio项目,编译成.dll文件,然后将该文件复制到服务器端的某个目录。 我已经和DarkRift一起工作了一段时间,并且已经做了很多工作。它工作得很好!然而,我需要使用谷歌的Firestore软件包

因此,我创建了另一个插件,安装了Firestore(以及所需的每个软件包),使用Firestore的一个函数编写了一些简单的代码,编译了项目,将.dll复制到服务器,然后运行服务器。问题是,每当我运行服务器(.exe文件)时,都会出现一个错误:“无法加载文件或程序集‘Google.Cloud.Firestore,Version=1.0.0.0,…’或其依赖项之一。”

我在使用Firestore的任何函数时都会出现此错误。但是,如果我只包含这个包(使用Google.Cloud.Firestore;),而不使用它的任何函数,我不会得到任何错误。我在谷歌上搜索了这个问题,到处都找遍了,却没能解决它


谢谢

Firestore是作为一个分布式的,它确实具有依赖性。 您是否已将所有这些依赖项复制到服务器? 这也可能是框架不兼容

要获得有关此类问题的更多详细信息,可以在上注册日志事件处理程序,当程序集解析失败时将触发该处理程序

您还可以使用诸如挖掘有问题的程序集之类的工具—它向您显示各种元数据,并且可以反编译CIL,这对于调试第三方代码中的奇怪行为是非常宝贵的

在.Net中,程序集加载有点慢,所以它只在需要时加载它们。
因此,当没有代码引用程序集时,解析不会失败。

Firestore作为一个组件分发,它确实具有依赖性。 您是否已将所有这些依赖项复制到服务器? 这也可能是框架不兼容

要获得有关此类问题的更多详细信息,可以在上注册日志事件处理程序,当程序集解析失败时将触发该处理程序

您还可以使用诸如挖掘有问题的程序集之类的工具—它向您显示各种元数据,并且可以反编译CIL,这对于调试第三方代码中的奇怪行为是非常宝贵的

在.Net中,程序集加载有点慢,所以它只在需要时加载它们。
因此,当没有代码引用程序集时,解析不会失败。

根据此页面:Firestore有两个依赖项(Google.api和Google.api.Auth)。我通过NuGet安装了它们,编译了整个程序,然后运行Darkrift服务器。我还是有同样的问题!那么,在您的插件中,钩住AppDomain.AssemblyResolve事件并触发通过反射加载Firestore程序集(以防止插件程序集加载失败)。例如,您可以根据此页面使用Assembly.Load:Firestore有两个依赖项(Google.api和Google.api.Auth)。我通过NuGet安装了它们,编译了整个程序,然后运行Darkrift服务器。我还是有同样的问题!那么,在您的插件中,钩住AppDomain.AssemblyResolve事件并触发通过反射加载Firestore程序集(以防止插件程序集加载失败)。例如,您可以使用Assembly.Load