Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么可以';在计算机中运行.NET程序的调试版本时没有';t安装visual studio_C#_.net_Release_Visual Studio Debugging - Fatal编程技术网

C# 为什么可以';在计算机中运行.NET程序的调试版本时没有';t安装visual studio

C# 为什么可以';在计算机中运行.NET程序的调试版本时没有';t安装visual studio,c#,.net,release,visual-studio-debugging,C#,.net,Release,Visual Studio Debugging,我有一个.NET 4.0应用程序的调试版本,我在这台计算机上安装了.NET 4.0 Framework,但是,我没有安装Microsoft Visual Studio 为什么我只能运行应用程序的发布版本,而不能运行应用程序的调试版本 我猜应用程序调试版本中的dll可能指的是Visual Studio的某些dll?有人知道确切的原因吗?调试版本专门用于调试您的程序。它包括一些额外的保护和挂钩,允许您单步通过并测试您的程序。这些需要VisualStudio附带的特殊调试运行时 一个发布版本去掉了所有

我有一个.NET 4.0应用程序的调试版本,我在这台计算机上安装了.NET 4.0 Framework,但是,我没有安装Microsoft Visual Studio

为什么我只能运行应用程序的发布版本,而不能运行应用程序的调试版本

我猜应用程序调试版本中的dll可能指的是Visual Studio的某些dll?有人知道确切的原因吗?

调试版本专门用于调试您的程序。它包括一些额外的保护和挂钩,允许您单步通过并测试您的程序。这些需要VisualStudio附带的特殊调试运行时

一个发布版本去掉了所有这些额外的功能,所以运行它所需要的只是.NET framework


编辑:经过更多的研究,看起来调试版本应该大致等同于发布版本。主要的区别似乎是调试版本为调试器创建了一个带有额外查找信息的pdb文件,并且优化的攻击性可能会小一些。

您应该能够运行在调试模式下编译的程序集。当您尝试运行它时,会发生什么情况?@DBM it抛出FileNotFoundException。如下消息:未处理的异常:System.IO.FileNotFoundException:无法加载文件或组件“xxxx.dll”或其依赖项之一。找不到指定的d模块。是否安装了完整的框架或客户端配置文件?如果只安装了客户端配置文件,请尝试完整框架。另外,错误中引用的是您的DLL还是框架DLL?它是否依赖于非托管项目或DLL?@Tetsujin no.Oni我已经安装了完整的框架,包括客户端配置文件和Extended,这可能在Win32/C/C++中是正确的,但在.NET中并非如此。条件语句可能在编译时被剥离,但是您可以在框架存在的任何位置运行.NET程序集。