har*_*ahi 6 c# git github azure asp.net-mvc-4
我有一个ASP.NET,MVC4,C#应用程序,我在Visual Studio 2012中开发.到目前为止,我已使用VS Publish工具成功部署到Azure网站.
我现在已成功在Azure网站上设置Git发布,并将其与GitHub存储库相关联.我已经在我的本地机器上初始化了一个存储库,并将整个批次推送到GitHub仓库.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>
Run Code Online (Sandbox Code Playgroud)
我发现我的问题是数据库连接字符串,VS Publish工具不再将其转换为Azure.我不得不直接修改它并承诺回购.
热门提示:我通过发布到具有不同发布配置文件的临时Azure网站,简单地查看VS Publish工具在Azure上的设置,从而找到了正确的字符串.
这解决了问题,部署进行得非常顺利.
2)此时我将以下内容作为我的.gitignore文件:
# Build Folders
obj/
# User-specific files
*.user
# SQL Server files
App_Data/*.mdf
App_Data/*.ldf
似乎我可以为了整洁而减少更多,但这并没有影响通过GitHub部署的正确操作,现在实际上非常顺利.
最后,这个方便的git命令用于从repo中删除文件而不删除它们.几个例子:
git rm -r --cached obj/*
git rm -r --cached */*.user
然后显然在添加,提交和推送之前将这些添加到.gitignore.
您的问题可能与没有 .gitignore 文件无关。最坏的情况是,您会将编译的 dll 包含在存储库的 bin 文件夹中 - 从一般维护的角度来看,这是一个非常糟糕的主意,但从发布到 Azure 的角度来看,这不是一个好主意。
该错误是黄屏死机还是只是带有该消息的空白屏幕?如果是后者,听起来部署失败了。您可以通过 FTP 访问网站并检查网站文件是否位于应有的位置。您还可以在那里找到一个 Logs 目录 - 它可能包含有助于诊断错误的内容。这是我的项目中的 .gitignore(您的项目可能需要添加更多内容/删除一些位,但至少它会消除 dll 的干扰):
# git ignore file
_ReSharper.*
[B|b]in/
obj/
*.suo
*.user
Run Code Online (Sandbox Code Playgroud)
这不是 Azure 特定的,而是 ASP.NET 特定的。顺便说一句,如果您需要删除已提交的 dll,则需要将 bin 路径添加到 .gitignore 并删除所有 dll
编辑:添加<customErrors mode="Off"/>- 至少它会告诉你错误是什么
| 归档时间: |
|
| 查看次数: |
1077 次 |
| 最近记录: |