我有Azure WebJobs的ASP.NET MVC应用程序。我已经开始将WebJobs自动发布到我的Azure云。但是当通过VS发布WebJobs时会出现模态对话框。我认为在TeamCity中也是如此,但它产生错误并且发布失败。
如何禁用它并发布WebJobs?
[Step 1/1]
[15:19:13][Step 1/1] Unhandled Exception: System.InvalidOperationException: Showing a modal dialog box or form when the application is not running in UserInteractive mode is not a valid operation. Specify the ServiceNotification or DefaultDesktopOnly style to display a notification from a service application.
[15:19:13][Step 1/1] at Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext.RunAsyncTask[T](Task`1 task)
[15:19:13][Step 1/1] at Microsoft.Web.WebJobs.Publish.Tasks.CreateScheduledWebJob.<>c__DisplayClass1f.<GetAuthorizationHeader>b__1e()
[15:19:13][Step 1/1] at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
[15:19:13][Step 1/1] at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
[15:19:13][Step 1/1] at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
[15:19:13][Step 1/1] at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
[15:19:13][Step 1/1] at System.Threading.ThreadHelper.ThreadStart()
[15:19:16][Step 1/1] Process exited with code 255
[15:19:16][Step 1/1] Step Publish to Azure (with WebJobs) (Command Line) failed
答案 0 :(得分:1)
我遇到了同样的问题。基本上,为了访问azure计划,需要对azure portal进行身份验证,因此需要输入凭据的模式。 我设法绕过这个博客:
azure门户网站下载页面的链接已过时。可以找到更新的链接here。
发布设置文件下载后,我将其复制到TC服务器,因为我不希望它包含在项目中。
然后我在项目的Properties文件夹下创建了一个webjobs.props文件
以下是内容:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="AfterSetScheduleProperties" AfterTargets="SetScheduleProperties">
<PropertyGroup>
<PublishSettingsPath>C:\Local_Properties\Azure\FileName.publishsettings</PublishSettingsPath>
<SubscriptionId>XXXXXX-XXXX-XXXX-XXXXX-XXXXXXXX</SubscriptionId>
</PropertyGroup>
</Target>
我在下载的发布设置文件中找到了订阅ID。 发布设置文件路径是TC服务器上的路径。
现在,在发布webjob时,在azure上正确创建/更新了计划。
希望这个帮助