构建错误仅在发布时发生

Build errors ONLY occur when publishing

我正在尝试发布我的项目,该项目引用了我的解决方案中的其他项目。

每当我定期构建解决方案时,它都能正常构建,没有任何错误。

但是,每当我尝试发布项目时,我都会收到消息 "Build failed"。

当我检查输出日志时,我看到以下 3 个错误:

C:\Users\MyUsername\Dropbox\Projects\SEO\QualityLinkBuilder\Web\RealestateJobsMigrations\RealestateJobsConfiguration.cs(10,101,10,124): error CS0234: The type or namespace name 'RealestateJobsDbContext' does not exist in the namespace 'RealestateScraper' (are you missing an assembly reference?)

C:\Users\MyUsername\Dropbox\Projects\SEO\QualityLinkBuilder\Web\RealestateJobsMigrations\RealestateJobsConfiguration.cs(18,56,18,79): 错误 CS0234:类型或命名空间名称 'RealestateJobsDbContext' 在命名空间 'RealestateScraper' 中不存在(您是否缺少 汇编参考?)

C:\Users\MyUsername\Dropbox\Projects\SEO\QualityLinkBuilder\Web\ViewModels\JobsVm.cs(364,51,364,69): 错误 CS0246:类型或命名空间名称 'ClosedRealestateId' 可能 找不到(您是否缺少 using 指令或程序集 参考资料?)

但是,我已经引用了项目 "RealestateScraper" 并且 class RealestateJobsDbContext&ClosedRealestateId 存在于 "RealestateScraper" 项目根命名空间中,在输出标记为错误。

(正如我之前所说,项目在不发布时也构建得很好)。

这可能是什么问题? 我已经清理并重建了,但这似乎没有任何改变。

注意:我没有显示有错误的代码,因为它似乎没有用,因为我正确地引用了文件中的程序集(using RealestateScraper;

显然在 RealestateScraper 项目中,我在另一个项目 .dll 中引用了它不再存在的位置。我更新了参考位置并修复了它。

我也遇到过这种情况 - 构建仅在发布期间失败。原来我为 azure publish 使用了错误的密码,出于某种原因我无法解释它会显示构建失败并包含一些构建错误。更正密码后,问题得到解决。

就我而言,我无法识别错误本身。我刚刚更改了发布 属性 "pre-compile"。我取消选中它然后我可以发布我的网站

我在 class 中有一些编译器 if-then 语句。当我进行本地构建时,这些工作正常,但在发布时它们没有被解释并导致构建错误。我重构了我的代码以删除编译器指令,它现在发布了。

示例:

#if SERVICE
using System.Web
#endif

更改为:

using System.Web

不幸的是,我有同样未解决的问题解决方案 -prog a -prog b 完成了 prog 和解决方案但是当我去发布时它给我错误 c0246 关于使用在项目 a 中调用的项目 b 帮助

我尝试了所有这些解决方案,它们可能有所帮助,但我仍然遇到错误。

我收到了一条警告。我不得不让这个文件在项目中不是只读的,然后它起作用了。

\obj\Release\netcoreapp3.0\PubTmp\Out\web.config