【问题标题】:Running Different version of Unity运行不同版本的 Unity
【发布时间】:2010-10-06 21:33:48
【问题描述】:

是否可以在一个应用中运行不同版本的 Unity?

我引用了一个使用旧版本 unity 的应用程序,而当前版本的 unity 我使用最新版本。

我明白了 warning

我尝试了帖子的建议,但没有成功。

如何让它工作?

谢谢。

【问题讨论】:

  • 你的意思是你想在同一个应用程序中使用这两个版本?
  • 是的。这就是我的意思。

标签: c# .net assemblies version unity-container


【解决方案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 的版本限定强名称,否则您将得到运行时错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 2018-06-04
    • 2015-05-30
    • 1970-01-01
    • 1970-01-01
    • 2012-11-07
    相关资源
    最近更新 更多