构建错误仅在发布时发生
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
我正在尝试发布我的项目,该项目引用了我的解决方案中的其他项目。
每当我定期构建解决方案时,它都能正常构建,没有任何错误。
但是,每当我尝试发布项目时,我都会收到消息 "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