ach*_*ekh 8 azure msbuild-4.0 azure-compute-emulator
我需要让一些标记和javascript人员参与azure asp.net MVC项目的开发团队.
基本上我需要的是每个人运行azure应用程序的本地实例,以便能够更改内容文件(chtml/css/js)并测试/调试它们,就像它在VisualStudio中启动一样(Ctrl + F5 ).
虽然很容易为所有各方提供源代码以便每个人都有自己的工作副本 - 我们使用svn,但我遇到了在dev结构中运行应用程序的本地副本的问题.
我不想为每个人安装Visual Studio,因为它耗费时间,并且只是为了启动开发结构而过于昂贵.这些人不会将VisualStudio用于html/css/js.使用SDK可以获得所有必需的工具:MSBuild,Azure,WIF等等.
我甚至设法使用应用程序运行dev fabric
MSBuild.exe Azure\Azure.ccproj /t:Publish
CSRun.exe Azure\csx\Debug Azure\bin\Debug\ServiceConfiguration.cscfg
Run Code Online (Sandbox Code Playgroud)
一切都运行良好,除了一件事 - 内容文件都Azure\obj\Debug\WebRole与文件夹一起复制到所有二进制文件.
这与VisualStudio构建不同 - 文件夹仅包含二进制文件,而内容文件保留在其位置.这是更方便的更改方式,因为文件不仅可以在保存后立即可用于调试,而且还可以从源代码控制中轻松签入/签出.
我查看了CSPack参考,并且肯定它应该允许我想要的场景,但是很难弄清楚如何实现它.我怀疑必须有一种使用MSBuild进行此类部署的方法(VisualStudio在很大程度上依赖于它来进行所有构建/部署操作),但我似乎找不到告诉它我想要的方法.
有没有人知道运行CSPack重复VisualStudio调试部署方案的正确方法,或者MSBuild以与VisualStudio相同的方式运行azure项目的正确目标/参数?
也许有办法窥视VisualStudio内部执行的实际命令行?
好吧,在深入研究 Microsoft.WindowsAzure.targets 几个小时并用手鼓跳舞之后,我发现了神奇的开关:
MSBuild.exe Azure\Azure.ccproj /p:PackageForComputeEmulator=true /p:PackageWebRole=False
Run Code Online (Sandbox Code Playgroud)
这就像 VisualStudio 一样打包应用程序。请注意,天蓝色构建逻辑区分目标Build,并Publish根据是否指定了一个、另一个或两者来应用不同的规则。对于我的场景,它必须是Build(默认的)。
| 归档时间: |
|
| 查看次数: |
2103 次 |
| 最近记录: |