通过GitHub将MVC4 C#应用程序部署到Azure.我的.gitignore中应该包含什么
本文关键字:gitignore 我的 什么 包含 Azure GitHub MVC4 部署 应用程序 通过 | 更新日期: 2023-09-27 17:50:52
我有一个在Visual Studio 2012中开发的ASP.NET、MVC4、C#应用程序。到目前为止,我已经使用VS发布功能成功部署到Azure网站。
我现在已经成功地在Azure网站上设置了Git发布,并将其与GitHub存储库链接。我已经在本地机器上初始化了一个存储库,并将整个存储库推送到GitHub repo。Azure立即完成了这一切。
现在,我预计在没有.gitignore文件的情况下,这不会完美地工作,我是对的。
所以我的问题是:从我的本地Visual Studio工作目录中,我应该从存储库中省略什么?也就是说,我的gitignore里应该有什么
此外,在尝试让应用程序在Azure网站上运行时,我还应该考虑其他因素吗?
备注:
1.我仔细看了一下https://gist.github.com/2589150但它似乎与我在VS工作目录中看到的不一致
2.https://github.com/github/gitignore/blob/master/CSharp.gitignore似乎更接近了,我目前正在努力了解其中哪些部分适用于我的情况。例如,如果我排除bin/*,则应用程序无法在Azure上部署。
更新:
1( 我按照@levelnis:的建议修改了我的web.config文件,从而关闭了自定义错误
<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>
我发现我的问题是VS发布功能不再将数据库连接字符串转换为Azure。我不得不直接修改并承诺回购。
最重要的提示:我只需查看VS发布功能在Azure上发布到具有不同发布配置文件的临时Azure网站上的内容,就找到了正确的字符串。
这解决了问题,部署进行得非常顺利。
2( 这时,我有了以下作为我的.gitignore文件:
#生成文件夹obj/#用户特定文件*.user#SQL Server文件应用程序数据/*.mdf应用数据/*.ldf
为了整洁起见,我似乎可以删掉更多,但这并没有影响通过GitHub进行部署的正确操作,GitHub现在实际上运行得非常顺利。
最后,一个方便的git命令,用于在不删除文件的情况下从repo中删除文件。举几个例子:
git rm-r—缓存的obj/*git rm-r--缓存的*/*.user
然后很明显在添加、提交和推送之前将这些添加到.gitignore中。
您的问题可能与没有.gitignore文件无关。最坏的情况是,您将把编译后的dll包含在存储库中的bin文件夹中——从一般维护的角度来看,这是一个非常糟糕的主意,但从发布到Azure的角度来看则不然。
这个错误是死亡黄屏还是只是一个带有该信息的空白屏幕?如果是后者,听起来部署好像失败了。你可以FTP到网站,检查网站文件是否在应该的位置。你可以在那里找到一个Logs目录,它可能有助于诊断错误。这是我的项目中的.gitignore(你的项目可能需要添加更多的东西/删除一些比特,但至少它会让dll摆脱困境(:
# git ignore file
_ReSharper.*
[B|b]in/
obj/
*.suo
*.user
这不是Azure特有的,而是ASP.NET特有的。顺便说一句,如果你需要删除dll并且它们已经提交,你需要将bin路径添加到.gitignore并删除所有dll以及
编辑:添加<customErrors mode="Off"/>
-至少它会告诉你的错误是什么
下面是Visual Studio gitignore文件的一个很好的例子:
https://gist.github.com/2589150
至于在Azure上发布,我还不够精通,但我想你会在这里找到你需要的一切:
http://msdn.microsoft.com/en-us/library/windowsazure/hh420322.aspx
更好的是,微软关于使用Git发布到Azure的教程:
http://www.windowsazure.com/en-us/develop/net/common-tasks/publishing-with-git/