gpt4 book ai didi

c# - 通过 GitHub 将 MVC4 C# 应用程序部署到 Azure。我的 .gitignore 中应该包含什么?

转载 作者:太空狗 更新时间:2023-10-29 13:15:20 25 4
gpt4 key购买 nike

我有一个在 Visual Studio 2012 中开发的 ASP.NET、MVC4、C# 应用程序。到目前为止,我已使用 VS Publish 工具成功部署到 Azure 网站。

我现在已成功在 Azure 网站上设置 Git 发布并将其与 GitHub 存储库链接。我已经在本地计算机上初始化了一个存储库,并将全部内容推送到 GitHub 存储库。 Azure 立即按照应有的方式将这一切撤回。

现在,我预计在没有 .gitignore 文件的情况下,这将无法完美工作,我是对的。

所以我的问题是:我应该从存储库中省略本地 Visual Studio 工作目录中的哪些内容? IE。我的 .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 Publish 工具转换为 Azure。我必须直接修改它并提交到存储库。

重要提示:通过简单地查看 VS 发布工具在 Azure 上发布的内容(通过使用不同的发布配置文件发布到临时 Azure 网站),我找到了正确的字符串。

这解决了问题并且部署非常顺利。

2)此时我的 .gitignore 文件如下:

    # Build Folders    obj/    # User-specific files    *.user    # SQL Server files      App_Data/*.mdf    App_Data/*.ldf

为了整洁起见,我可能可以删掉更多内容,但这并没有影响通过 GitHub 部署的正确操作,现在实际上工作得非常顺利。

最后,方便的 git 命令用于从存储库中删除文件而不删除它们。几个例子:

    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

这不是 Azure 特定的,而是 ASP.NET 特定的。顺便说一句,如果您需要删除已提交的 dll,则需要将 bin 路径添加到 .gitignore 并删除所有 dll

编辑:添加<customErrors mode="Off"/> - 至少它会告诉你错误是什么

关于c# - 通过 GitHub 将 MVC4 C# 应用程序部署到 Azure。我的 .gitignore 中应该包含什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14164108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com