我在我的应用程序System.Windows.Interactivity.dll中使用。我在我的应用程序的Program Files文件夹中有特定版本(3.0.40218.0)。
这是负责加载它的代码:
var x = 1;
setInterval(function(){
document.write(x);
x++;
}, 500);
。
当用户在GAC_MSIL中加载了此dll的另一个版本时,会出现问题。然后由于某种原因加载了这个dll的两个版本导致崩溃。有什么方法可以选择要加载的特定版本吗?
答案 0 :(得分:1)
有什么办法可以选择加载特定版本吗?
不,XAML解析器将阻止您使用同一程序集的多个版本,并尝试将程序集的版本号添加到XAML中的命名空间声明中将不起作用。
该引用决定了XAML解析器实际加载的程序集。如果查看项目文件(.csproj),您应该能够看到引用的程序集的版本。
答案 1 :(得分:0)
好像我发现了这个问题。我认为它可能是.NET中的错误。在“参考”中我有旧版本的文件(适用于.NET 4.0)。如果它被缓存当然它被加载了,但由于某种原因,我的应用程序的Program Files文件夹中存在的新dll(对于.NET 4.5)也缓存在GAC_MSIL中并且也被加载。所以我的意思是它只是偶然使用了新版本。希望它可以帮助有类似问题的人。