Git Azure部署内容目录中缺少文件(MVC4项目)

Git Azure部署内容目录中缺少文件(MVC4项目),git,azure,Git,Azure,我一直在从本地git存储库向azure推进,没有任何问题 然而,自从添加了一些静态内容(一些png文件)并将它们推送到azure之后,我注意到它们没有被推送到azure上的wwwroot目录中 git正在跟踪这些文件,并将其登录到azure服务器上的git repo中。我可以通过ftp连接和浏览文件夹来验证这一点 但是,如果通过ftp浏览到wwwroot目录,我可以看到我的新文件尚未复制到此目录 注意:我有两个很好的截图,显示了一个目录中的文件,但另一个目录中没有,但很遗憾,我不能在这里发布图像

我一直在从本地git存储库向azure推进,没有任何问题

然而,自从添加了一些静态内容(一些png文件)并将它们推送到azure之后,我注意到它们没有被推送到azure上的wwwroot目录中

git正在跟踪这些文件,并将其登录到azure服务器上的git repo中。我可以通过ftp连接和浏览文件夹来验证这一点

但是,如果通过ftp浏览到wwwroot目录,我可以看到我的新文件尚未复制到此目录

注意:我有两个很好的截图,显示了一个目录中的文件,但另一个目录中没有,但很遗憾,我不能在这里发布图像,因为我是一个新用户

因此,我要确认:

  • 我在/Content/images中添加了一个新文件-test.png
  • git正在跟踪test.png
  • test.png已经到达azure服务器,我可以在ftping到/repository/ProjectName/Content/images目录时看到它
  • test.png没有被复制到wwwroot/Content/images目录,因此没有出现在我的azure网站上
这些IME上的构建操作与wwwroot目录中显示的其他映像相同(内容,不复制)


在推送到azure时,如何将新的静态资源复制到wwwroot目录中?

此问题最常见的原因是项目中的文件未正确标记为内容,导致无法部署它们。在这种情况下,通过WebDeploy部署时,您会看到相同的行为


如果您看到这种行为,并且您的文件被正确标记为内容,那么我希望看到复制,理想情况下,以github repo的形式,我可以尝试将自己推到Azure。

在提交给git修复之前构建解决方案。

在git拾取添加的映像时也遇到类似的问题,但当我部署到服务器时,映像无法通过,我遇到了一个错误

您正在查找的资源已被删除,其名称为 已更改,或暂时不可用

或者基本上是404错误

对我来说,问题是,project.csproj文件没有引用图像作为资源。因此,我在Notepad++中编辑了我的project.csproj,或者您可以在任何其他编辑器中进行编辑,并在ItemGroup下添加以下内容-

<ItemGroup>
  <Content Include="Content\images\test.png" />
</ItemGroup>

确保您使用的是\(反斜杠)而不是/(正斜杠)


PS:这可能不是最好的解决方案,但效果很好。

作为一个快速检查-您是否可以在某个地方进行本地发布,并验证这些图像在发布后是否复制到本地的正确位置?只是为了找出问题发生的地方,需要进行响应。刚刚尝试了本地文件系统发布,所有文件都按预期显示在内容目录中。我将修改一个现有的文件,并将其推送到azure,以查看该文件是否得到更新。我刚刚在主页上添加了一条html注释,并再次推送到azure。我的内容现在被复制到wwwroot目录。我怀疑这与我在主页上发表的评论有关,但这可能触发了azure端的部署过程。很高兴知道发生了什么。我刚刚检查了csproj文件的历史记录,可以看到所有文件都被设置为“内容包含…”在csproj文件中包含静态内容文件后,没有任何变化。我会看看我是否可以得到一个可以测试的公共回购设置。谢谢,我很想看看。有什么更新吗?我现在也有同样的问题。我没有得到一份复印件,所以我无法调查。如果您可以共享一致的repo,请在Github(或任何地方)上共享repo,我可以看一看。我今天遇到了这种症状-问题是我刚刚添加了一个htm文件,保存了该文件,然后使用git提交/推送。我忽略了做的是“全部保存”,它将csproj文件更改刷新到磁盘,因此当我按下时,新文件的
项不在csproj中。在本地运行生成将强制在Visual Studio中执行“全部保存”,如果您添加了新文件而未按下“全部保存”,这将解决此问题,因此,您的项目文件更改从未保存。因此,是的,在某些情况下,这可以解决您的问题,但也可以通过运行“全部保存”来解决。