通过GitHub将MVC4 C#应用程序部署到Azure.我的.gitignore应该是什么?

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.

lev*_*nis 2

您的问题可能与没有 .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"/>- 至少它会告诉你错误是什么