将启动脚本添加到 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
中。不过我没有亲自测试过。
我正在按照 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
中。不过我没有亲自测试过。