.csproj 文件在构建解决方案时自动更改?

Posted

技术标签:

【中文标题】.csproj 文件在构建解决方案时自动更改?【英文标题】:.csproj file automatically changing on building Solution? 【发布时间】:2021-08-29 17:33:29 【问题描述】:

由于各种实体框架版本不兼容,我无法搭建 Razor 页面,因此我安装了所有版本 5.0.x 并更新了 .csproj 文件。但是当我构建解决方案时,它会变回以前的版本。

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <Content Remove="Views\Logsign\signup.cshtml" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="5.0.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="5.0.7" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.15" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.15">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.5" />
  </ItemGroup>

</Project>

【问题讨论】:

【参考方案1】:

您是否将 TargetFramework 更改为 5.0?

<PropertyGroup>
   <TargetFramework>netcoreapp5.0</TargetFramework>
</PropertyGroup>

【讨论】:

是的,它有效。但是在添加剃须刀页面之前,net core 3.1 在实体框架版本 5 上运行良好。

以上是关于.csproj 文件在构建解决方案时自动更改?的主要内容,如果未能解决你的问题,请参考以下文章

如何防止 Visual Studio 更改我的 csproj 格式

使用 Msbuild 和 devenv 在项目解决方案下构建特定的 Visual Studio 项目

是否可以从 csproj 文件中知道是使用 devenv 还是 msbuild 来运行它?

防止VS向csproj添加显式编译标签

Rider 建议使用 C# 8 语法,但未能构建解决方案

初学C#,总结一下.sln和.csproj的区别