相关疑难解决方法(0)

解决"命令"taskkill/F/IM MyApp.vshost.exe"退出代码128"错误

上下文
在调试(使用" 调试"菜单F5)Visual Studio解决方案时,MyApp.vshost.exe会创建一个调用的进程.当你不雅地停止调试时- 我的意思是使用Stop Debug菜单SHIFT+ F5而不是等待Application.Exit()发生的代码行- 这个过程不会被杀死.

有时,当您稍后再次开始调试应用程序时,会出现一条错误消息,指出该文件(显然,它是调试使用的文件:) bin\Debug\MyApp.vshost.exe已经在使用中.

这就是我在Build命令行中添加以下命令的原因: taskkill /F /IM MyApp.vshost.exe

问题
MyApp.vshost.exe进程不存在时,Visual Studio有时会在构建时抛出错误,从而阻止构建应用程序:

Error c:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets
The command "taskkill /F /IM MyApp.vshost.exe" exited with code 128.
Run Code Online (Sandbox Code Playgroud)

我找到的唯一现有解决方案是删除构建事件.

问题
有没有办法解决错误消息而不删除构建事件?

编辑

我认为最好的解决方案是检索errorlevel命令的返回码(),如果它等于128则返回0.是否可以在项目的构建事件中执行此操作?

command-line build visual-studio-2010 visual-studio

9
推荐指数
1
解决办法
7127
查看次数

Visual Studio预构建事件检查以查看目录(和文件)是否存在,如果存在则将其删除

每次我进行构建时,我都希望这个Pre-build事件发生:

del  $(ProjectDir)\obj\Debug\Package\PackageTmp\web.config
Run Code Online (Sandbox Code Playgroud)

如果目录在那里,这工作正常.但是如果目录不存在那么它将导致构建失败.我尝试做这样的事情来检查目录是否存在:

if Exists('$(ProjectDir)\obj\Debug\Package\PackageTmp\')   
del  $(ProjectDir)\obj\Debug\Package\PackageTmp\web.config
Run Code Online (Sandbox Code Playgroud)

但我相信我的语法错误,因为我得到一个255的退出代码.什么是让它工作的正确方法?

谢谢!

msbuild prebuild visual-studio-2015

7
推荐指数
1
解决办法
6487
查看次数