【问题标题】:Exception from HRESULT: 0x80070057 (E_INVALIDARG)HRESULT 异常:0x80070057 (E_INVALIDARG)
【发布时间】:2013-01-30 01:19:58
【问题描述】:

我有一个 WPF 应用程序。在构建它时,我收到以下错误:

无法加载文件或程序集或其依赖项之一。参数不正确。 (来自 HRESULT 的异常:0x80070057 (E_INVALIDARG))

应用程序正在尝试从虚拟驱动器(作为调试文件夹)加载程序集

例如:[subst r: c:[my Assembly bin pth]

之前我将 c:\bin 挂载为网络驱动器,但出现以下错误。

这个程序集可能是从网上下载的。如果程序集是从 Web 下载的,Windows 会将其标记为 Web 文件,即使它位于本地计算机上也是如此。这可能会阻止它在您的项目中使用。您可以通过更改文件属性来更改此名称。仅取消阻止您信任的程序集。请参阅http://go.microsoft.com/fwlink/?LinkId=179545 了解更多信息。

编辑: 顺便说一下,我在属性窗口中找不到“取消阻止”按钮。

【问题讨论】:

  • 来自相关帖子的answer 非常有帮助。
  • 嗨@Simsons,以下答案均未被接受,我想知道根本原因是否与subst 命令创建的虚拟驱动器有关,正如我所经历的那样和你的完全一样,我的项目驻留在虚拟驱动器中。

标签: c# wpf .net-assembly


【解决方案1】:

清除项目中的临时框架文件:

对于 Windows 7,路径为:

C:\Users\[username]\AppData\Local\Temp\Temporary ASP.NET Files\

对于路径中带有“框架”的 64 位系统,完整路径为:

C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\

http://www.solutioncottage.com/ShowSolution.aspx?solID=59

【讨论】:

  • 这应该被标记为答案@Simsons 你标记它怎么样?
  • 这是非常有用的信息(它确实解决了我的问题),但我认为这不是正确的答案,因为它指的是 ASP .NET,而问题是关于 WPF。
  • 在我的 Win10 机器上从 BSOD 恢复后突然出现此错误。这为我修好了。谢谢
  • 重启 Visual Studio 为我做了。
  • 我也重新启动了 Visual Studio,并确保也重新构建。然后它起作用了。单独重启对我不起作用。
【解决方案2】:

从以下路径中删除所有临时文件仍然有效,它保存了我在 Web 服务器上托管的开发站点 (HRESULT: 0x80070057 (E_INVALIDARG))

C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET 文件\

【讨论】:

    【解决方案3】:

    我在构建时遇到蓝屏时发生了这种情况。

    我必须删除我的包和 bin 文件夹,然后从 TFS 获取

    当时我在以下位置什么都没有……

    C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET 文件

    为了解决我将 Visual Studio 设置为调试模式,然后监视上述目录。我删除了出现的文件,然后应用程序再次开始工作。

    是时候开始寻找新的开发机器了。

    【讨论】:

      【解决方案4】:

      在 Visual Studio 2019 上,我能够手动将 ".vs" 文件夹删除到解决方案目录中来解决此问题。

      谢谢

      【讨论】:

        【解决方案5】:

        对于您在安装时遇到的错误是由于程序集/DLL 的阻塞。右键单击您下载的任何 DLL,您将获得一个取消阻止它的选项。

        对于无法加载文件或程序集或其依赖项之一错误,在起始类的构造函数中放置一个断点并检查它是由于什么原因而失败的。

        【讨论】:

        • 问题中提到的是没有解锁选项
        【解决方案6】:

        在构建我的 wcf 服务时出现 Windows 8 蓝屏错误后,我遇到了这个问题。我尝试了上面的所有建议..但它没有解决问题。

        最后,我在同一个 wcf 项目上从 IIS 删除并重新创建了新应用程序
        然后一切正常。

        【讨论】:

          【解决方案7】:

          引用this所以回答:

          这可能在引用 COM 包装器 dll 时发生。

          进入您的 Visual Studio 项目,在 References 下,选择引用的 COM 包装程序集,右键单击,首选项,并确保 Embed Interop TypesSpecific Version 都设置为 False

          【讨论】:

            猜你喜欢
            • 2013-04-09
            • 2023-03-13
            • 1970-01-01
            • 1970-01-01
            • 2021-11-11
            • 2012-07-21
            • 2011-03-02
            • 2012-02-26
            • 2011-07-17
            相关资源
            最近更新 更多