【问题标题】:Costura Fody throwing error with FodyIsolated.dllCostura Fody 使用 FodyIsolated.dll 引发错误
【发布时间】:2018-05-23 10:07:50
【问题描述】:

我已经构建了一个 WPF 应用程序,并使用 Costura.Fody 将它组合成一个 exe。这一直有效到今天,我知道的唯一变化是我升级了 Visual Studio(社区版到 15.7.2)。

现在在构建时会在启动后立即引发错误: 无法加载文件或程序集 '<directory of my app>\packages\Fody.3.0.3\netclassictask\FodyIsolated.dll' 或其依赖项之一。不支持操作。 (HRESULT 异常:0x80131515)

我尝试了很多方法:

  • 检查 FodyIsolated.dll 是否未被阻止(不是)
  • 升级到最新版本的 Costura.Fody Nuget
  • 卸载并重新安装 Costura.Fody Nuget
  • 降级到以前工作的版本
  • 添加到我的 app.config
  • 在 Visual Studio 安装目录的 devenv.exe.config 中添加
  • 在 Internet 选项中将存储我的应用程序的网络驱动器的 IP 添加到本地 Intranet 区域(应用程序存储在网络驱动器上)

上述解决方案之一对面临此问题的其他所有人都有效,但没有一个对我有帮助。我希望有人可以给我另一种选择,或者指出我哪里出错了。

需要明确的是,如果我删除 Costura.Fody,应用程序构建良好,但显然所有 dll 都与 exe 分开。

【问题讨论】:

    标签: c# wpf fody-costura


    【解决方案1】:

    经过更多的实验和研究,我自己设法解决了这个问题。

    我注意到这个特定错误的一个共同主题是网络驱动器上的文件,所以我尝试从我的 C 驱动器运行该解决方案,令我惊讶的是它构建时没有任何问题。

    然后我做了更多的谷歌搜索并偶然发现了这个:https://blogs.msdn.microsoft.com/shawnfa/2009/06/08/more-implicit-uses-of-cas-policy-loadfromremotesources/

    它的重要部分是它如何处理正在加载的程序集。我在正确的区域将服务器的 IP 添加到 Intranet 区域,它只需要是解决方案所在文件夹的完整路径。

    因此,如果其他人遇到此问题,请尝试将解决方案的文件夹添加到 Intranet 区域,这样可以解决问题。

    【讨论】:

    • 是的,对我来说同样的问题。你帮助了我.. 谢谢!
    【解决方案2】:

    我的项目存储在 OneDrive 上。

     C:\Users\denni\OneDrive\Documents\....
    

    我将整个项目复制到本地磁盘上,问题消失了。

     C:\Users\denni\source\repos\...
    

    【讨论】:

      【解决方案3】:

      我正在努力找出这个异常,因为我的项目位于本地驱动器上,但它抱怨从网络共享加载。应用上述修复后,我仍然遇到此错误。事实证明,由于我公司的集团政策,该项目与我的 PC 位于不同的“区域”。他们将我们的 Windows 配置文件推送到 Onedrive 架构,并且由于该设置的其他错误,我已将 Documents\Projects 文件夹克隆到另一个本地驱动器。

      这样做是在 DLL 上放置一个安全“块”,就像它是从另一个安全区域复制的 EXE。我必须进入项目包文件夹下并右键单击 -> 每个嵌套 DLL 文件的属性,然后单击属性窗格底部的复选框“取消阻止”。之后,Fody 异常被清除。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-03-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多