MicrosoftOfficeInteropExcel, Version=12000, Culture=neutral, PublicKeyToken=71e9bce111e9429c”所使用的“MicrosoftVbeInterop, Version=12000, Culture=neutral, PublicKeyToken=71e9bce111e9429c”版本高于所引用的程序集“MicrosoftVbeInterop, Version=11000, Culture=neutral, PublicKeyToken=71e9bce111e9429c”的版本
说的很明白了啊,用11000版的,重新添加引用就OK了
说明你的程序是Framework40以下版本的,而引用的dll却是Framework40版本
所以警告说,可能会运行不正常,你可以把你的程序设置为Framework40版本
公共程序集
1利用反射AssemblyLoadFrom() 动态加载程序集
static void Main()
{
// Load the assembly and create an Instance of MyAssembly
Assembly aa = AssemblyLoadFrom("MyAssembly\\MyAssemblydll");
Type a_t = aaGetType("MyAssembly");
object o = ActivatorCreateInstance(a_t);
// Invoke the GetDepAssembly method
object ac = oGetType()InvokeMember("GetDepAssembly", BindingFlagsInvokeMethod, null, o, new object[] {});
}
2使用 <codeBase> 元素。
只有在计算机配置文件或也重定向程序集版本的发行者策略文件中,才可以使用 <codeBase> 元素。在运行库确定要使用哪一程序集版本时,它应用确定版本的文件中的基本代码设置。如果未指出基本代码,那么运行库就以通常的方法探测程序集。有关详细信息,请参见运行库如何定位程序集。
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asmv1">
<dependentAssembly>
<assemblyIdentity name="myAssembly"//必需!程序集的名称
publicKeyToken="32ab4ba45e0a69a1" //sn -t FileNameKeyPublicsnk 得到该值
culture="en-us" />//可选,指定程序集的语言和国家/地区的字符串。一般是neutral
<codeBase version="2000"//程序集版本AssemblyInfocs中配置,或在属性中配置。
href=">
ESRIArcGISCartoUI 你这个东西应该是一个第三方插件吧?
应该是你用的这个插件用的是适用2005版本的东西,在2008里面不适用了!~
去下载适用2008版本的这个软件吧!~
以上就是关于错误 155 程序集所使用的版本高于所引用的程序集的版本全部的内容,包括:错误 155 程序集所使用的版本高于所引用的程序集的版本、"发现同一依赖程序集的不同版本之间存在冲突"的警告怎么解决、如何使用公共程序集等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)