Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.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# 在Visual Studio中以调试模式从同一解决方案并排启动2个项目_C#_Visual Studio_Visual Studio 2010 - Fatal编程技术网

C# 在Visual Studio中以调试模式从同一解决方案并排启动2个项目

C# 在Visual Studio中以调试模式从同一解决方案并排启动2个项目,c#,visual-studio,visual-studio-2010,C#,Visual Studio,Visual Studio 2010,当我尝试执行我描述的操作时,会出现以下错误: 无法将文件“obj\x86\Release\AlreadyRunning.exe”复制到“bin\x86\Release\AlreadyRunning.exe”。进程无法访问文件“bin\x86\Release\AlreadyRunning.exe”,因为其他进程正在使用该文件 这是有道理的。我有两个VStudio并排打开,我在左边启动服务器应用程序,想在右边启动客户端应用程序。两者都在同一个解决方案中,我想同时调试它们 当然,我可以在第二个VS中暂

当我尝试执行我描述的操作时,会出现以下错误:

无法将文件“obj\x86\Release\AlreadyRunning.exe”复制到“bin\x86\Release\AlreadyRunning.exe”。进程无法访问文件“bin\x86\Release\AlreadyRunning.exe”,因为其他进程正在使用该文件

这是有道理的。我有两个VStudio并排打开,我在左边启动服务器应用程序,想在右边启动客户端应用程序。两者都在同一个解决方案中,我想同时调试它们


当然,我可以在第二个VS中暂时禁用或更改已经运行的项目的生成输出,但我想知道是否有更聪明的方法只生成/启动一个项目,而不必担心其他项目(即不尝试构建已经在另一个VS实例上运行的服务器项目).

如果要调试两个不同的项目,可以通过解决方案属性->启动项目并选择多个来执行它们


如果是同一个项目,您可以通过Visual Studio启动一个实例,手动启动另一个实例(因此无需构建两次),并通过Debug->attach to process将调试器手动附加到第二个实例上。VS允许并行调试多个项目。。。你可以从你想要的任何项目开始(在你的情况下是服务器),当你准备好的时候,直接进入项目(在你的情况下是客户端),右键单击,调试->新建实例

根据上述意见:


如果这太令人困惑(因为两者都使用了多个类),则始终可以启动第二个VS实例,并在启动客户端(不是通过VS而是手动)后将第二个VS实例的调试器附加到该实例上

服务器+客户端是否为同一个EXE文件?如果不是,有什么原因不从同一个VS实例启动这两个(服务器+客户端)吗?这两个应用程序是什么类型的?@Yahia:正如下面所说的,我只是不知道这种可能性对不起。直到今天才偶然发现它。我不认为那是真的possible@Yahia:另外,我想在客户端应用程序之前启动服务器应用程序。如果我以相同的类型启动它们,我可能会有同步问题。您可以通过手动启动项目(右键单击)和调试->新建实例(如果不匹配,很抱歉,此计算机上没有VS)以任何顺序启动它们。很好。。。不知道多重启动项目选项。即使在使用VS 10年后,也总是有可能在VS上发现新的东西。使用第一个选项,两个项目将同时启动,但在我的情况下,我需要首先对服务器进行裁剪,因此我猜它可能无法正常工作。对于第二个选项,我想“手动”意味着在debug/release文件夹中启动exe文件,并将调试器附加到生成的进程,对吗?是的,手动意味着从debug/release文件夹启动它。