我基本上是试图通过用相同dll的调试版替换已安装的dll来调试我们软件的已安装版本。
我需要做什么来调试已安装的应用版本。
答案 0 :(得分:1)
这里没有真正的问题,但很明显你可能会遇到问题:
该应用程序将首先找到GAC中的DLL。因此,您需要取消注册并将调试版本复制到与应用程序的EXE相同的目录中,以便它始终加载您的替换。在技术上可以在GAC中注册调试版本,但请参阅下一个项目。
该应用程序将寻找一个特定的[AssemblyVersion],并且不会非常乐意在您的替代品中找到另一个。显然,您希望为调试版本提供相同的[AssemblyVersion],这样就不会出现问题。如果确实有必要,可以在app.exe.config文件中添加<bindingRedirect>
。
如果替换DLL没有完全信任,那么可能会检查替换DLL的强名称。因此,请务必使用相同的密钥对其进行签名,并对此感到头疼。
答案 1 :(得分:0)
您可以调试“Debug”以及“Release”版本。需要的是“.pdb”文件。 “发布”版本的缺点是某些代码可能已被优化掉,使得调试不那么确凿。
这是一篇很好的文章,描述了如何调试GAC中的程序集:http://www.elumenotion.com/Blog/Lists/Posts/Post.aspx?ID=23