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

时间:2013-01-27 18:47:13

标签: git azure

我一直在从本地git存储库推送到azure而没有任何问题。

然而,由于添加了一些静态内容(几个png文件)并将它们推送到azure,我注意到它们没有被推入azure的wwwroot目录。

git正在跟踪这些文件,并且这些文件正在天蓝色服务器上的git repo中登陆。我可以通过ftp和浏览文件夹连接来验证这一点。

但是如果我通过ftp浏览到wwwroot目录,我可以看到我的新文件没有被复制到这个目录。

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

所以要确认:

  • 我在/ Content / images
  • 中添加了一个新文件 - test.png
  • test.png正由git跟踪。
  • test.png已到达天蓝色服务器,因为我可以在ftping到/ repository / ProjectName / Content / images目录时看到它
  • test.png未被复制到wwwroot / Content / images目录中,因此未出现在我的azure网站上

对这些imes的构建操作与出现在wwwroot目录中的其他图像相同(内容,不要复制)。

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

3 个答案:

答案 0 :(得分:12)

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

如果您看到此行为并且您的文件被正确标记为内容,那么我很乐意看到一个repro,理想情况下是github repo的形式,我可以尝试将自己推送到Azure。

答案 1 :(得分:2)

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

答案 2 :(得分:0)

有一个类似的问题,git正在拾取添加的图像,但是当我部署到服务器时,图像没有通过,我收到了错误

  

您要查找的资源已被删除,名称已有   已更改或暂时不可用

或基本上是 404错误

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

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

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

PS:这可能不是最佳解决方案,但工作正常。