孤立壳dll中的不匹配 [英] mismatch in isolated shell dlls

查看:88
本文介绍了孤立壳dll中的不匹配的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们有一个基于shell的独立应用程序,它还包含一个MEF项目。当前版本使用VS2010构建。我们正在尝试升级它以使用VS2015 shell。在构建环境中(安装完整的VS2015的地方)它可以运行
OK,但是在部署中(只安装了隔离的shell -vs_isoshell.exe-包),我们会遇到崩溃。


 


我们试图找出问题所在。似乎在构建环境(VS2015更新2)中,某些dll的版本与vs_isoshell.exe安装的版本不同,因此在运行时它们不会被加载。我们
看到这个版本差异的dll是Microsoft.VisualStudio.Composition.dll,Microsoft.VisualStudio.ComponentModelHost.Implementation.dll,Microsoft.VisualStudio.Composition.Configuration.dll。 (可能还有其他类似问题的dll,一旦我们在这三个问题中遇到问题,我们就没有找到更多
。)


 


有没有办法升级vs_isoshell.exe,或者让VS2015用不同的版本链接项目?


谢谢



Yoel

解决方案

您可以在isoshell框中安装最新的Update 3 ,那也应该更新你的孤立shell位。明显的缺点是更新的大小。


另一个想法,(因为我自己在VS 2013中遇到过这种情况),由于多个msbuild版本被加载到构建失败孤立的shell进程,这是由于isoshell存根的.exe.config文件中的goofy绑定重定向。


作为建议,您可以尝试添加绑定重定向以确保所需的版本是加载的。


此致


We have an isolated shell – based application, which includes also an MEF project. The current version is built with VS2010. We are trying to upgrade it to work with VS2015 shell. In the build environment (Where the complete VS2015 is installed) it works OK, but in deployment (where only the isolated shell -vs_isoshell.exe- package is installed) we experience crashes.

 

We tried to figure out what the problem is. It seems that in the build environment (VS2015 update 2), the versions of some dlls are different than those installed by the vs_isoshell.exe, and as result in runtime they are not loaded. The dlls for which we saw this version difference are Microsoft.VisualStudio.Composition.dll, Microsoft.VisualStudio.ComponentModelHost.Implementation.dll, Microsoft.VisualStudio.Composition.Configuration.dll. (There may be other dlls with a similar issue, we did not look for more once we came across the problem in those three).

 

Is there a way to either upgrade the vs_isoshell.exe, or to make VS2015 link the projects with a different version?

Thanks

Yoel

解决方案

You can install the latest Update 3 on the isoshell box, and that should update your isolated shell bits as well. The obvious downside being the size of that update.

Another thought, (as I've run into this myself with VS 2013), is a build failure due to multiple msbuild versions getting loaded into the isolated shell process, which was due to goofy binding redirects in the isoshell stub's .exe.config file.

As a suggestion, you could try adding a binding redirect to ensure the desired version is what gets loaded.

Sincerely,


这篇关于孤立壳dll中的不匹配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆