【发布时间】:2018-08-01 16:44:39
【问题描述】:
我遇到了一个奇怪的情况,我无法发布我的最终 Web 项目。这是项目结构:
Foo.Services.Common:这是共享库:.NET Standard 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 Core 相关的包(静态文件、配置)
Foo.Services.Api:仅限 ASP.NET Core API(无 View,无 Razor),已引用回 Foo.Services.Common。发布好。用途:Microsoft.AspNetCore.App 2.1.0、Microsoft.NETCore.App 2.1.0。
Foo.Services.Web:前端项目。这个是我不能发布的!这个引用了两个Common 项目。用途:Microsoft.AspNetCore.App 2.1.0、Microsoft.NETCore.App 2.1.0
然而,一经发布,就会出现这个:
找不到类型或命名空间名称“DefaultWebSettings” (您是否缺少 using 指令或程序集引用?)
错误位置在Foo.Services.Common.Razor 项目的文件中,而不是Web 项目中。
有趣的是,Visual Studio 甚至可以与 IntelliSense 和 Go to Definition 完美配合:
我可以在调试/发布模式下构建,在有/没有调试解决方案中的任何项目的情况下运行。此外,发布Foo.Services.Common.Razor 没有任何问题!
简而言之:我无法发布我的Web 项目,也不知道问题出在哪里。我试过了:
- 清理/构建。
- 删除/重新添加引用。
- 手动删除所有 obj 和 bin 文件夹。
请告诉我我可能遗漏了什么。
【问题讨论】:
-
您是否检查了所有 *.json 文件是否有任何错误?这有时会导致异常行为。
-
@AperioOculus 嗯,它们对我来说似乎很好。我没有任何 .Release.json 文件。此外,
Release模式构建良好,只有发布不起作用。
标签: asp.net-core build .net-core publish release