将启动脚本添加到 Azure Web 角色 - "copy to output directory" 缺失

Adding startup script to Azure web role - "copy to output directory" missing

我正在按照 these instructions 将 IP 限制添加到 Azure Web 角色,但我无法更改 构建操作 "copy to output directory" 属性 用于 startup.cmd 脚本。它变灰 不可用。谁能解释这是为什么? Visual Studio 2013 年使用 Kentico 应用程序。

更新 1 - 添加了屏幕截图

更新 2 - 意识到我需要更改 "copy to output directory",而不是构建操作。上面更新了问题。

嗯,从来没有厌倦过,我的主项目中总是有我的启动脚本。 但是,使用此设置,您的启动脚本将自动复制到角色的 Approot。这就是为什么没有 "Copy to output directory"。

如果我们仔细观察Define Startup Tasks for a Role,我们会看到一条注释:

The commandLine task is relative to the AppRoot\Bin folder for the deployment. Environment variables are not expanded in the commandLine value. If environment expansion is required, you can create a small .cmd script that calls your startup task as cmd.exe, which expands the environment variables.

按照该说明,您的脚本的命令行可能类似于:

   <WebRole name="CMSApp">
      <Startup>
         <Task commandLine="..\startup\Startup.cmd" >
         </Task>
      </Startup>
      ....
   </WebRole>

这应该有效。因为您的内容(如屏幕截图所定义)在 AppRoot\Startup\startup.cmd 中。不过我没有亲自测试过。