是否可以在应用程序中运行不同版本的Unity?
我引用了一个应用程序,该应用程序使用旧版本的统一版本和当前使用最新版本的Unity版本。
我得到了这个warning。
我尝试了帖子的建议,但没有成功。
如何使这个工作?
感谢。
答案 0 :(得分:1)
编译时警告只是一个警告。只要您有两个版本的Unity DLL可供应用程序使用,您就可以忽略它。 您可以通过编辑App.config来实现此目的,看起来像这样
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Unity" publicKeyToken="605f591b87e816bd"/>
<codeBase version="1.0.0.0" href="./v1/Unity.dll"/>
<codeBase version="2.0.0.0" href="./v2/Unity.dll"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
这只是伪配置,但你可以看到在我的应用程序'bin'目录下,我将为两个版本的Unity提供一个子目录。这个配置基本上对.net运行时说,“当你需要版本1或2的统一时,你可以从这些子目录中获取它们。”
当然,你是否应该这样做是另一回事。如果您的应用程序中有任何松散的配置(例如xml)在Unity DLL中引用类型 - 那些'引用'将需要指定Unity DLL的版本限定的强名称,否则您将获得运行时错误。