我需要一些标记和 JavaScript 人员来帮助开发团队完成 azure asp.net MVC 项目。
本质上,我需要的是每个人运行 azure 应用程序的本地实例,以便能够更改内容文件(chtml/css/js)并测试/调试它们,就像在 VisualStudio 中启动一样( Ctrl+F5)。
虽然很容易向各方提供源代码,以便每个人都有自己的工作副本 - 我们使用 svn,但我在 dev Fabric 中运行应用程序的本地副本时遇到了问题。
我不想为每个人安装 Visual Studio,因为它非常耗时,而且仅仅为了启动开发结构就太昂贵了。这些人不使用 VisualStudio 来处理 html/css/js。以及使用 SDK 提供的所有必需工具:MSBuild、Azure、WIF 等等。
我什至设法使用应用程序运行开发结构
MSBuild.exe Azure\Azure.ccproj /t:Publish
CSRun.exe Azure\csx\Debug Azure\bin\Debug\ServiceConfiguration.cscfg
一切正常,除了一件事 - 内容文件与所有二进制文件一起复制到 Azure\obj\Debug\WebRole
文件夹下。
这与 VisualStudio 构建不同 - 文件夹仅包含二进制文件,而内容文件保留在其位置。这是一种更方便的更改方式,因为文件不仅可以在保存后立即用于调试,而且还可以轻松地从源代码管理中 checkin / checkout 。
我评论了CSPack引用,并且肯定它应该允许我想要的场景,但很难弄清楚如何实现它。 我怀疑必须有一种使用 MSBuild 进行此类部署的方法(只要 VisualStudio 严重依赖它来进行所有构建/部署操作),但我似乎找不到一种方法来告诉它我想要什么。
有人知道运行 CSPack 来重复 VisualStudio 调试部署方案的正确方法,或者 MSBuild 的正确目标/参数以与 VisualStudio 相同的方式运行 azure 项目吗?
也许有办法查看 VisualStudio 构建中执行的实际命令行?
最佳答案
好吧,在深入研究 Microsoft.WindowsAzure.targets 几个小时并用手鼓跳舞之后,我发现了神奇的开关:
MSBuild.exe Azure\Azure.ccproj /p:PackageForComputeEmulator=true /p:PackageWebRole=False
这就像 VisualStudio 一样打包应用程序。请注意,azure 构建逻辑区分目标 Build
和 Publish
,并根据是否指定了一个、另一个或两者来应用不同的规则。对于我的场景,它必须仅是Build
(默认)。
关于azure - 如何在没有 Visual Studio 的情况下在开发模式下在 azure 模拟器中运行应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8245143/