gpt4 book ai didi

c# - 将 View 和 Controller 放在与 ASP.NET Core Web 应用程序不同的项目中

转载 作者:行者123 更新时间:2023-12-04 02:44:31 25 4
gpt4 key购买 nike

我正在尝试将我的 ASP.NET Core 3.0 预发布 9 MVC 应用程序拆分为不同的项目。例如,我想将与一个子域相关的所有内容都放入一个名为 Website.SubdomainA 的项目中。另一个进入Website.SubdomainB .

我试图用 Razor 类库来实现这一点。根据 MSDN ,这些应该能够包含以下内容:

Razor views, pages, controllers, page models, Razor components, View components, and data models can be built into a Razor class library (RCL).



所以我继续创建了一个“RCL”,它看起来像下面这样:

<Project Sdk="Microsoft.NET.Sdk.Razor">
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
<RazorLangVersion>3.0</RazorLangVersion>
</PropertyGroup>
</Project>

然后我复制了我的 Controller 和 View ——但是,由于某种原因,它找不到任何包含像 Controller 这样的基类的程序集。 , RouteAttribute以及 Microsoft.AspNetCore.Mvc 中包含的所有其他内容命名空间。

此外,我的 View 无法编译,因为它们找不到所需的程序集,以及诸如 Layout = "Test" 之类的东西。被标记为红色。

我错过了一些明显的东西吗?

最佳答案

要创建 Razor 类库,您需要附加 AddRazorSupportForMvc*.csproj像下面这样:

<Project Sdk="Microsoft.NET.Sdk.Razor">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
<AddRazorSupportForMvc>true</AddRazorSupportForMvc>
</PropertyGroup>
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
</Project>

关于c# - 将 View 和 Controller 放在与 ASP.NET Core Web 应用程序不同的项目中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57837617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com