2012-02-15 61 views
0

我有一个调试版本的.NET 4.0应用程序,我在这台机器上安装了.NET 4.0 Framework,但是,我没有安装Microsoft Visual Studio。为什么我不能在机器上运行调试版本的.NET程序没有安装visual studio

为什么我只能运行发布版本的应用程序,但无法运行应用程序的调试版本?

我猜dll在调试版本的应用程序可能引用一些Visual Studio的DLL?有谁知道到底是为什么?

+5

您应该能够运行以调试模式编译的程序集。当你试图运行它时,究竟发生了什么? – 2012-02-15 04:27:54

+0

@DBM它抛出一个FileNotFoundException.Message,如下所示:未处理的异常:System.IO.FileNotFoundException:无法加载文件或屁股嵌入'xxxx.dll'或其依赖关系之一 。无法找到指定的 d模块。 – 2power10 2012-02-15 04:30:06

+0

您是否安装了完整的框架或客户端配置文件?如果您只安装客户端配置文件,请尝试完整框架。另外,是否在错误中引用了您的DLL或框架DLL? – 2012-02-15 04:31:26

回答

0

调试版本专门用于调试您的程序。它包含一些额外的保护和挂钩,让您可以逐步测试您的程序。这些需要通常随Visual Studio提供的特殊调试运行时。

版本构建剥离了所有这些额外的功能,因此您需要运行它的只是.NET框架。

编辑:经过一些更多的研究,它看起来像调试版本应该大致相当于发布版本。主要区别似乎是调试版本创建了一个带有调试器的额外查找信息的pdb文件,并且可能会对优化有点不太积极。

+3

对于Win32/C/C++,这可能是真实的,但在.NET上则不然。 – leppie 2012-02-15 04:29:25

+0

条件语句可能会在编译时被剥离,但是您可以在该框架存在的任何地方运行.NET程序集。 – 2012-02-15 04:30:39

相关问题