调试安装版本 - C#

时间:2012-05-16 12:26:21

标签: c# debugging

我基本上是试图通过用相同dll的调试版替换已安装的dll来调试我们软件的已安装版本。

我需要做什么来调试已安装的应用版本。

  1. 我需要替换的dll文件存在于GAC中。
  2. 安装的版本号与调试版本号不同。
  3. 我很确定(没有检查过),安装版本名称很强,不确定调试版本。

2 个答案:

答案 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