【发布时间】:2015-02-18 04:58:30
【问题描述】:
我有一个 WCF Web 应用程序,它一直在构建并在调试下运行,直到昨天。当我决定要部署发布版本时,问题就开始了。由于
,该版本无法构建HRESULT: 0x80131515
涉及 Newtonsoft.Json.dll。但在一天结束时,我的计算机断电,而 Visual Studio 正在运行。现在,我得到了涉及 AjaxControlToolkit.dll 的相同错误!但这一次情况更糟。尝试构建 Release 仍然会为 AjaxControlToolkit 创建先前的错误代码。调试仍会编译,但页面无法正常运行,我从 IE 收到此错误:
无法加载文件或程序集“AjaxControlToolkit”或其其中之一 依赖项。参数不正确。 (HRESULT 的例外情况: 0x80070057 (E_INVALIDARG))
我试过了,
- 单独清理和构建解决方案和每个项目。
- 取消阻止文件(文件未被阻止)
- 下载并替换 AjaxControlToolkit.dll 文件
- 清除 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET 文件夹
- 清除 C:\Users\user_name\AppData\Local\Temp 文件夹
- 重新启动计算机
- 将 Git 恢复到以前的构建到新文件夹中
没有任何帮助。
我很乐意提供更多信息。谢谢!
【问题讨论】:
-
你运行的是什么 IIS (IIS Express) 框架?
-
好吧......现在它“工作”......没有理由。
-
“工作”是指我回到了昨天 Debug 正常工作但 Release 找不到库的状态。除了这一次,AjaxControlToolkit.dll 仍然是问题,而不是 Newtonsoft.json.dll。我不会称其为“固定”,因为它很好……不是。但考虑到 Git 上次似乎没有帮助我……我有点害怕继续搞砸它。该网站需要在下周二进行演示。其他一切正常,这只是这个荒谬的 Visual Studio 问题。演示后我可能会更积极。
-
听起来你的发布版本想要拖入一个它找不到的调试 DLL。确保所有发布端代码仅使用发布构建的 DLL/程序集/等。
标签: c# wcf visual-studio-2013