这是我对Azure的第二次部署。 首先是一个带有数据库的简单MVC4网站,我通过git部署。工作就像一个魅力。
现在我有以下内容: 包含三个项目的解决方案。
所有项目都是MVC4(不知道如何更好地为Models项目管理)。 在我的模型项目中,我正在运行代码迁移。 后端在虚拟目录中运行:localhost:80 / Backend (在localhost上工作得很好) Web和Backend项目都引用了Models Project。
文件夹结构: Solution文件夹包含: Web / Models / Backend / MySolution.sln
我第一次部署时,我在Projects文件夹中创建了一个git repo(因为它是一个单独的项目)。现在我的仓库在解决方案文件夹中。
我也在后端上传文件,并通过以下路径将其移至其他项目(Web):
Directory.GetParent(HttpContext.Current.Server.MapPath("~")).ToString() + DirSeperator + "Web" + DirSeperator + "Store" + DirSeperator;
这会在Azure上出现问题吗?
现在我的问题是,我如何部署此解决方案?
我在Azure中创建了一个包含Source控件的网站,并为其添加了一个SQL数据库。
我已成功将解决方案推向Azure, 但在Azure上有麻烦
找到解决方案......没有可部署的项目。改为部署文件。
现在
你对这个问题有什么好的教程吗?
我完全错了吗? (我想是的)
我对ASP.NET和Azure比较陌生,所以对我来说理解起来有点困难。
谢谢, 托比
答案 0 :(得分:1)
后续编辑:我现在看到,这更多地与配置2个项目部署有关。您需要创建部署脚本
我没有做过研究,但看看这些帖子:
http://blog.amitapple.com/post/38419111245/azurewebsitecustomdeploymentpart3
答案 1 :(得分:0)
我设法解决了我的问题。 对不起,我正在回答我自己的问题 - 希望这不会冒犯任何人。
使用Azure网站无法实现我想要实现的目标,但使用Web角色。 如CloudCover和StructureTooBig上所示。
因此,我在Visual Studio中创建了一个新的Azure云应用程序(由Azure工具提供),其中包含一个默认的Web角色,这是我的Web前端项目。 我已经向Web角色添加了一个名为“backend”的VirtualApplication,并将physicalDirectory设置为我的后端项目路径。 然后我添加了一个VirtualDirectory“商店”,我可以从这两个项目访问文件上传。
我的WebRole现在看起来像这样:
<WebRole name="MvcWebRole1" vmsize="ExtraSmall">
<Sites>
<Site name="Web" physicalDirectory="[projectpath]">
<VirtualApplication name="backend" physicalDirectory="[projectpath]">
</VirtualApplication>
<VirtualDirectory name="store" physicalDirectory="[projectpath]">
</VirtualDirectory>
<Bindings>
<Binding name="Endpoint1" endpointName="Endpoint1" />
</Bindings>
</Site>
</Sites>
<Endpoints>
<InputEndpoint name="Endpoint1" protocol="http" port="80" />
</Endpoints>
<Imports>
<Import moduleName="Diagnostics" />
<Import moduleName="RemoteAccess" />
<Import moduleName="RemoteForwarder" />
</Imports>
我现在通过以下方式访问(读取+写入)商店:
HttpContext.Current.Request.MapPath("/Store" + DirSeperator);
而不是
Directory.GetParent(HttpContext.Current.Server.MapPath("~")).ToString() + DirSeperator + "Web" + DirSeperator + "Store" + DirSeperator;
这对两个项目都有效。
所以,这个解决方案有效,我已经将它部署到生产中了!
新出现的问题:
侨