2015-06-17 62 views
0

我有一個解決方案,有三個項目。結構是這樣的:Azure github部署失敗,因爲它無法找到一些臨時文件

>myApp //solution 
    >myApp.domain //class library 
    >myApp.data //class library 
    >myApp.web //web app 
>.gitignore 
>.deployment 

在本地環境項目工作正常。即使我從Visualstudio進行部署,它也能很好地工作,但是當我使用github進行部署時,部署失敗。這裏是日誌消息:

處理.NET Web應用程序部署。 packages.config中列出的所有軟件包已經安裝。 packages.config中列出的所有軟件包已經安裝。 myApp.Domain - > D:\ home \ site \ repository \ myApp.Domain \ bin \ Release \ myApp.Domain.dll CSC:錯誤CS2001:源文件'obj \ Debug \ TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92 .cs'無法找到[D:\ home \ site \ repository \ myApp.Data \ myApp.Data.csproj] CSC:錯誤CS2001:源文件'obj \ Debug \ TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1。 cs'找不到[D:\ home \ site \ repository \ myApp.Data \ myApp.Data.csproj] CSC:錯誤CS2001:源文件'obj \ Debug \ TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs '找不到[D:\ home \ site \ repository \ myApp.Data \ myApp.Data.csproj] 失敗exitCode = 1,command =「D:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ MSBuild .exe「」D:\ home \ site \ repository \ myApp.Web \ myApp.Web.csproj「/ nologo/verbosity:m/t:Build/t:pipelinePreDep loyCopyAllFilesToOneFolder/p:_PackageTempDir =「D:\ local \ Temp \ 6bb414c0-d47f-480d-8db4-9a08459a55b5」; AutoParameterizationWebConfigConnectionStrings = false; Configuration = Release/p:SolutionDir =「D:\ home \ site \ repository。」 網站部署期間發生錯誤。 C:\ Program Files文件(x86)的\ SiteExtensions \捻\ 45.40609.1605 \ BIN \腳本\ starter.cmd「d:\家\網站\部署\工具\ deploy.cmd

看來部署過程找不到某些文件obj目錄。 我下載我的.gitignoregithub gitignore repository,也根據這個microsoft documentation沒有必要對包括構建文件。

我改變.gitignore以包括特定的文件夾(obj/Debug),但它也失敗了。

最後,我將我的整個項目複製到其他地方。然後我刪除了.gitignore.git。我創建了另一個github存儲庫,並且我推所有東西都是。這次Azure成功部署了它

而且,這裏是.deployment文件:

[config] 
project = myApp.Web/myApp.Web.csproj 

我的問題是 我是否需要構建輸出文件包括到我的倉庫?

回答

0

TLDR:您的任何項目的bin /或obj /目錄中的任何內容(或任何在編譯階段爲此生成的任何內容)都不應要求部署到Azure。

對於我的天藍色項目,我設置了我的git忽略文件以完全忽略bin文件夾和obj文件夾 - 也是許多其他suo文件。不過,只需在gitignore文件中列出這些文件夾,就不會自動從您已經提交的這些文件夾中刪除任何文件。

就我個人而言,我會徹底刪除磁盤上的bin和obj文件夾,然後確保如果git status從這些目錄中刪除了任何文件 - 將這些刪除操作提交到您的存儲庫。然後,因爲這些文件夾位於.gitignore文件中 - 在bin或obj目錄中創建的任何未來文件都不會包含在您的存儲庫中。

專門爲Visual Studio定製的.gitignore文件的一個很好的例子是你已經在https://github.com/github/gitignore/blob/master/VisualStudio.gitignore找到的一個例子--gitub開發者的git忽略文件(或者至少在一個存儲庫中)。

相關問題