zoukankan      html  css  js  c++  java
  • BUG

    一个让我很郁闷的问题。。。  使用Prism  module开发的时候 用目录方式加载 老是提示  Failed to load type for module  XXXXX . 可是跟踪代码什么的 都能看到我的 module对象。很是郁闷。

    最后在项目中加入了Prism的源代码才找到原因。

    在 Microsoft.Practices.Prism.Modularity.FileModuleTypeLoader(ModuleInfo moduleInfo)中

    moduleInfo.Ref 返回的module的路径 是

    file:///F:/XXXXX/abc.dll形式的

    在Microsoft.Practices.Prism.Modularity.AssemblyResolver.LoadAssemblyFrom(string assemblyFilePath) 中

     Uri assemblyUri = GetFileUri(assemblyFilePath); //得到资源标识符

    AssemblyName assemblyName = AssemblyName.GetAssemblyName(assemblyUri.LocalPath);//根据资源的本机地址获取程序集名称

    因为assemblyFilePath 是file:///F:/XXXXX/abc.dll形式的,当XXXX有中文路径的时候  assemblyUri.LocalPath就不会返回一个正确的值 所以报错提示 Failed to load type for module  XXXXX
    我测试了 如果只是使用F:/XXXXX/abc.dll 创建Uri 没有问题 
    很是郁闷  看来以后中文名称路径问题还是需要注意 不过我可以不再中文路径下 但是客户也许会安装在中文路径下 
    没办法我重写了下 出问题地方
    不清楚还有没有更好的解决办法  希望提供谢谢

  • 相关阅读:
    HDU 1061
    HDU 1028
    HDU 2191
    POJ 2249
    html.day01
    移动Web开发技巧
    chrome浏览的下载扩展程序
    webApp禁止用户保存图像
    弹出层easydialog-v2.0
    免写前缀JS包--prefixfree.min.js--插件
  • 原文地址:https://www.cnblogs.com/qingducx/p/4079875.html
Copyright © 2011-2022 走看看