我有三个项目的解决方案。结构是这样的:
>myApp //solution
>myApp.domain //class library
>myApp.data //class library
>myApp.web //web app
>.gitignore
>.deployment
在本地环境项目中工作正常。即使我从Visualstudio部署它工作得很好,但是当我使用github部署它时,部署失败。这是日志消息:
处理.NET Web应用程序部署。 package.config中列出的所有软件包都已安装。 package.config中列出的所有软件包都已安装。 myApp.Domain - > d:\家\网站\库\ myApp.Domain \ BIN \发布\ 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 /详细程度:m / t:build / t:pipelinePreDeployCopyAllFilesToOneFolder / p:_PackageTempDir =“D:\ local \ Temp \ 6bb414c0-d47f-480d-8db4-9a08459a55b5”; AutoParameterizationWebConfigConnectionStrings = false; Configuration = Release / p:SolutionDir =“D: \家\网站\库。\” 网站部署期间发生错误。 C:\ Program Files(x86)\ SiteExtensions \ Kudu \ 45.40609.1605 \ bin \ scripts \ starter.cmd“D:\ home \ site \ deployments \ tools \ deploy.cmd
似乎部署过程在obj
目录中找不到某些文件。
我从github gitignore repository下载了.gitignore
,同样根据此microsoft documentation,不需要包含构建文件。
我更改了.gitignore
以包含该特定文件夹(obj/Debug
),但它也失败了。
最后,我将整个项目复制到其他地方。然后我删除了.gitignore
和.git
。我创建了另一个github存储库,我推送一切。这次Azure部署成功。
此处还有.deployment
档案:
[config]
project = myApp.Web/myApp.Web.csproj
我的问题是 我是否需要将构建输出文件包含到我的存储库中?
答案 0 :(得分:0)
TLDR :任何项目的bin /或obj /目录(或在编译阶段生成的任何其他内容)中的任何内容都不需要部署到Azure。< / p>
对于我的azure项目,我设置了我的git ignore文件,完全忽略了bin文件夹和obj文件夹 - 还有suo文件和其他许多文件。但是,只需在gitignore文件中列出这些文件夹就不会自动删除您已提交的这些文件夹中的所有文件。
我个人会完全从磁盘中删除bin和obj文件夹,然后确保如果git status列出这些目录中删除的任何文件 - 您将这些删除提交到您的存储库。然后因为这些文件夹在.gitignore文件中 - 在bin或obj目录中创建的任何未来文件都不会包含在您的存储库中。
专门为Visual Studio定制的.gitignore文件的一个很好的示例是您在https://github.com/github/gitignore/blob/master/VisualStudio.gitignore已经找到的文件 - 一个git忽略文件(或至少在由其维护的存储库中)开发人员github。