【问题标题】:Build errors ONLY occur when publishing仅在发布时发生构建错误
【发布时间】:2016-07-18 21:40:27
【问题描述】:

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

每当我定期构建解决方案时,它构建得很好,没有任何错误。

但是,每当我尝试发布项目时,我都会收到“构建失败”消息。

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

C:\Users\MyUsername\Dropbox\Projects\SEO\QualityLinkBuilder\Web\RealestateJobsMigrations\RealestateJobsConfiguration.cs(10,101,10,124): 错误 CS0234:类型或命名空间名称“RealestateJobsDbContext” 命名空间“RealestateScraper”中不存在(您是否缺少 程序集参考?)

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”,并且类 RealestateJobsDbContext&ClosedRealestateId 存在于“RealestateScraper”项目根名称空间中,该名称已在输出标记错误的位置标记为使用。

(就像我之前所说的,项目在不发布时也可以很好地构建)。

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

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

【问题讨论】:

  • 尝试删除已发布的文件夹,我已经看到了这个问题并已解决。这不是一个正确的答案,但它可能会解决您的问题。
  • 我不小心将发布构建平台重置为 x86,而不是任何 CPU。

标签: c# asp.net .net namespaces publish


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      就我而言,我无法识别错误本身。我刚刚更改了发布属性“预编译”。我取消选中它,然后我就可以发布我的网站了

      【讨论】:

        【解决方案4】:

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

        例子:

        #if SERVICE
        using System.Web
        #endif
        

        改为:

        using System.Web
        

        【讨论】:

          【解决方案5】:

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

          【讨论】:

          • 嘿@francesco!欢迎来到stackoverflow。我建议您添加此类帖子作为对问题的评论而不是答案。
          【解决方案6】:

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

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

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

          【讨论】:

            猜你喜欢
            • 2017-04-09
            • 1970-01-01
            • 2018-07-17
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多