Configuration的AddEnvironmentVariables方法进行收集并利用。
上述参数和环境变量的具体使用方式,请参考配置信息管理章节。
发布流程分析
在之前的MVC程序中,我们一般都是通过右键项目,选择发布(Publish)的方式来发布程序的,这一次我们也来看看这种方式。
首先,右键->发布->Profile(选择File System)->选择D:BookStore->选择Release/coreclr->下一步,最终点击发布。在在Output面板,我们看到出错了,错误信息如下:
正在连接到 D:DocumentsVisual Studio 2015ProjectsBookStoreBookStore..artifactsbinBookStoreReleasePublish... C:Program Files (x86)MSBuildMicrosoftVisualStudiov14.0WebMicrosoft.DNX.Publishing.targets(342,5): 错误 : 错误: 无法识别规则“BackupRule”。 C:Program Files (x86)MSBuildMicrosoftVisualStudiov14.0WebMicrosoft.DNX.Publishing.targets(342,5): 错误 : 错误计数: 1。 C:Program Files (x86)MSBuildMicrosoftVisualStudiov14.0WebMicrosoft.DNX.Publishing.targets(342,5): 错误 : An error occured during publish. The command ["C:Program Files (x86)IISMicrosoft Web Deploymsdeploy.exe" -source:contentPath='C:UsersAdministratorAppDataLocalTempPublishTemp' -dest:contentPath='D:DocumentsVisual Studio 2015ProjectsBookStoreartifactsbinBookStoreReleasePublish' -verb:sync -enableRule:DoNotDeleteRule -retryAttempts:2 -disablerule:BackupRule ] exited with code [-1]。
通过查看输出信息,可以发现,编译成功,但复制的时候出错,可能是powershell的问题,所以返回上述步骤,在设置(Settings)选项卡下,将取消发布脚本(Publish Scripts)下的使用PowerShell脚本发布的复选框。重新发布,成功了。
打开发布目录D:BookStore,发现生成了如下目录和文件:
| 目录或文件 | 描述 |
|---|---|
| approot | 应用程序目录 |
| wwwroot | 静态文件目录 |
| gen | linux shell命令文件 |
| gen.cmd | cmd命令文件 |
| web | linux shell命令文件 |
| web.cmd | cmd命令文件 |
看到cmd文件的扩展名,我们可以猜想这些命令是用于执行相关的命令,比如web.cmd可能就是用于启动程序的;而非cmd扩展名文件,我们则猜想可能是用于linux/mac运行的命令。
我们来试一下,点击web.cmd文件,该文件执行以后显示的信息和我们在Debug程序时弹出的信息一样,通过访问提示中的网址,我们可以验证应用程序已经正常运行了。这种模式即时我们所说的自宿主(Self-Host)运行模式。








