有什么方法可以简单地重新启动站点所在的虚拟机?
今天遇到一个问题,git 将代码更改部署到我们的站点导致:
D:\home\site\repository\packages\Microsoft.Net.Compilers.1.0.0\tools\Microsoft.CSharp.Core.targets(67,5): error MSB6006: "csc.exe" exited with code -1073741819. [D:\home\site\repository\Foo\Bar.csproj]
最终在 Kudu/SCM 站点 Process Explorer 中杀死 VBCSCompiler.exe 并从门户发出重新部署后,导致部署成功......但随后站点无法正确启动:在 EventLog.xml 中有
HttpCompileException: External component has thrown an exception.
at System.Web.Compilation.AssemblyBuilder.Compile()
at System.Web.Compilation.BuildProvidersCompiler.PerformBuild()
at System.Web.Compilation.ApplicationBuildProvider.GetGlobalAsaxBuildResult(Boolean isPrecompiledApp)
at System.Web.Compilation.BuildManager.CompileGlobalAsax()
at System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled()
at System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException)
所以一些非常基本的东西不适合环境。
修复它的唯一方法是在门户中选择不同的应用服务计划/定价层,这似乎导致站点在新 VM 中旋转(我们注意到发生了%COMPUTERNAME%
变化)。
有没有比每次发生这种情况时在不同定价层之间随机交换更好的方法来获取新的 VM 实例?