gpt4 book ai didi

c# - 在 ASP.Net MVC Core 中创建新 Controller 时,如何防止 MVC Core 添加一些不需要的包?

转载 作者:行者123 更新时间:2023-11-30 22:59:48 24 4
gpt4 key购买 nike

我正在开发一个新的 ASP.Net MVC Core 2.1.2 项目,目标是 .Net 4.7.2(所以不是 .Net Core)。当我通过右键单击 Controller 文件夹“添加”、“ Controller ”添加新 Controller 时,我的新 Controller 成功创建,几乎是空的,正如预期的那样:

public class AdminController : Controller
{
public IActionResult Index()
{
return View();
}
}

但也有一些依赖悄悄地添加到我的项目中:

    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.1.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.0" />

我不关心最后一个,但我想不通为什么它也添加了 EF Core,我想避免它,特别是因为我在项目中引用的后端程序集已经在使用 Entity Framework,但在其版本 6.x(不是核心)中。

为什么会这样,可以避免吗?谢谢

仅供引用,我当然知道我可以简单地将我的新 Controller 添加为“新类”并从 Controller 继承,而不使用“添加 Controller ”的东西,以避免这个问题,但我想了解这里发生了什么。

最佳答案

我记得在创建类似的项目设置时也遇到过同样的问题(.Net Core 应用程序针对 .net 4.*)。

我相信这与通过您提到的上下文菜单添加 Controller 时获得的脚手架有关。为避免接收这些依赖项,您可以做的是将 Controller 创建为常规 c# 类并自己添加样板代码(= 继承 Controller 基类并添加所需的 using 语句。)

我不知道在没有这些依赖项的情况下让脚手架工作的任何其他可能性。

关于c# - 在 ASP.Net MVC Core 中创建新 Controller 时,如何防止 MVC Core 添加一些不需要的包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51943594/

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