Asp.net core 可以在Visual Studio上生成和运行,但无法发布

Asp.net core 可以在Visual Studio上生成和运行,但无法发布,asp.net-core,build,.net-core,publish,release,Asp.net Core,Build,.net Core,Publish,Release,我有一个奇怪的情况,我不能发布我的最终网络项目。以下是项目结构: Foo.Services.Common:这是一个共享库:.NET标准2.0.3,Microsoft.AspNetCore.Mvc.Core 2.1.0,定义了类DefaultWebSettings Foo.Services.Common.Razor:Razor类库,引用了Foo.Services.Common,并使用DefaultWebSettings:NETStandard.Library 2.0.3,Microsoft.Asp

我有一个奇怪的情况,我不能发布我的最终网络项目。以下是项目结构:

Foo.Services.Common
:这是一个共享库:
.NET标准2.0.3
Microsoft.AspNetCore.Mvc.Core 2.1.0
,定义了类
DefaultWebSettings

Foo.Services.Common.Razor
:Razor类库,引用了
Foo.Services.Common
,并使用
DefaultWebSettings
NETStandard.Library 2.0.3
Microsoft.AspNetCore.Mvc 2.1.0
和其他一些与ASP.NET核心相关的包(静态文件、配置)

Foo.Services.Api
:仅ASP.NET核心Api(无视图,无剃须刀),引用回到
Foo.Services.Common
。出版得好。使用:
Microsoft.AspNetCore.App 2.1.0
Microsoft.NETCore.App 2.1.0

Foo.Services.Web
:前端项目。这是我不能发表的!这一个引用了两个
常见的
项目。使用:
Microsoft.AspNetCore.App 2.1.0
Microsoft.NETCore.App 2.1.0

但是,在发布时,会显示以下内容:

找不到类型或命名空间名称“DefaultWebSettings” (是否缺少using指令或程序集引用?)

错误位置位于
Foo.Services.Common.Razor
项目的文件中,而不是
Web
项目中

有趣的是,Visual Studio甚至可以与IntelliSense完美配合并进入定义:

我可以在调试/发布模式下进行构建,在解决方案中调试/不调试任何项目的情况下运行。此外,发布
Foo.Services.Common.Razor
不会有任何问题

简而言之:我无法发布我的
Web
项目,也不知道问题出在哪里。我试过:

  • 清洁/建造
  • 删除/重新添加引用
  • 手动删除所有obj和bin文件夹

请告诉我我可能遗漏了什么。

最后,我不得不从
Common.Razor
Web
项目中删除
Common
的引用。我猜他们无法构建,因为.NET标准和.NET核心之间存在一些冲突。必须将
Common
的所有代码复制到
Common.Razor

您是否检查了所有的*.json文件是否有任何错误?这有时会导致不寻常的行为。@aperioculus-Hmm,我觉得它们很好。我没有任何.Release.json文件。而且,
Release
模式构建得很好,只有发布不起作用。