首页 文章

Azure github部署失败,因为它无法找到一些临时文件

提问于
浏览
0

我有三个项目的解决方案 . 结构是这样的:

>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:\ 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:pipelinePreDeployCopyAllFilesToOneFolder / 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 \ Kudu \ 45.40609.1605 \ bin \ scripts \ starter.cmd“D:\ home \ site \ deployments \ tools \ deploy.cmd

似乎在 obj 目录下部署进程 couldn't find some files . 我从github gitignore repository下载了我的 .gitignore ,也根据这个microsoft documentation,不需要包含构建文件 .

我更改 .gitignore 以包含该特定文件夹( obj/Debug ),但它也失败了 .

最后,我将整个项目复制到其他地方 . 然后我删除了 .gitignore.git . 我创建了另一个github存储库,我推了 everything . 这次Azure部署它 successfully .

这里还有 .deployment 文件:

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

My question is 我是否需要将构建输出文件包含到我的存储库中?

1 回答

  • 0

    TLDR :任何项目的bin /或obj /目录(或者在编译阶段生成的任何其他内容)中的任何内容都不应该要求部署到Azure .

    对于我的azure项目,我已经设置了我的git ignore文件来完全忽略bin文件夹和obj文件夹 - 还有suo文件和其他许多文件 . 但是,只需在gitignore文件中列出这些文件夹 will not 就会自动删除您已提交的这些文件夹中的所有文件 .

    我个人会完全从你的磁盘中删除bin和obj文件夹,然后确保如果git status列出那些目录中删除的任何文件 - 你将这些删除提交到你的存储库 . 然后因为这些文件夹在.gitignore文件中 - 在bin或obj目录中创建的任何未来文件都不会包含在您的存储库中 .

    专门为Visual Studio定制的.gitignore文件的一个很好的例子是你已经在https://github.com/github/gitignore/blob/master/VisualStudio.gitignore找到的文件 - 一个git忽略来自github的开发者的文件(或者至少在由其维护的存储库中) .

相关问题