我使用的是Windows Server 2008上ISS服务器上的ASP.NET网站,该网站为我编译了以下问题的解决方案:
Dim command = "devenv ""Solution.sln"" /build Debug /project ""Project.vbproj"" /projectconfig Debug /out ""logBuildUpdateInfoprim.log"""
Dim cmdsi = New ProcessStartInfo(command)
cmdsi.Arguments = arg
cmdsi.CreateNoWindow = True
cmdsi.UserName = "user"
cmdsi.Password = "pass"
cmdsi.UseShellExecute = False
Dim cmd = Process.Start(cmdsi)
cmd.WaitForExit()
"user"one_answers"pass"用于系统管理员我还将网站应用程序池的标识设置为"用户">
它可以工作大约几周,然后在下一次编译时,devenv进程只需要0%的处理器和大约2Mb的RAM。它无限期地坐着。解决此问题的唯一方法是在windows中以"用户"身份登录,手动关闭devenv进程,然后打开Visual Studio。之后,我可以从windows服务器注销,网站将在几周内重新运行。
(我使用的是Visual Studio社区(
我怀疑Visual Studio需要打开才能激活Visual Studio帐户,或者可能是windows服务器的问题。不管怎样,周期性地解决这个问题真的很痛苦。
由于我在Visual Studio中没有找到任何关于如何绕过登录的答案,我使用了
msbuild.exe
作为一种变通方法。