Git 未在 Visual Studio 2022 中获取对数据库项目属性的更改

Git not picking up change to database project's properties in Visual Studio 2022

提问人:LittleB 提问时间:8/11/2023 最后编辑:jessehouwingLittleB 更新时间:8/11/2023 访问量:102

问:

我正在更改 Visual Studio 项目中的设置,但 git 似乎没有选择它?

我在Visual Studio中右键单击我的项目(数据库项目),单击属性并更改调试菜单中的选项(屏幕截图中突出显示的一个)。

我重建了解决方案,所以我希望 git 会发现某些东西发生了变化,但事实并非如此。我想将此更改检查到版本控制中,因为我们遇到了发布问题。

我本来以为这将是一个 gitignore 问题,但我没有忽略 .sqlproj 文件,我希望这是会改变的文件?

有谁知道什么文件会被更改?

Property being changed

我尝试将各种文件包含在源代码管理中,以便它们不会被忽略,但找不到将存储此设置的文件

git visual-studio-2022 sql-server-data-tools

评论

0赞 knittl 8/11/2023
这些设置存储在哪里?哪个文件?

答:

1赞 jessehouwing 8/11/2023 #1

该设置不存储在数据库项目本身 () 中,而是存储在关联的每用户设置文件 () 中:.sqlproj.sqlproj.user

<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <StartupScript>(Blank)</StartupScript>
    <StartAction>StartNone</StartAction>
    <BlockOnPossibleDataLoss>True</BlockOnPossibleDataLoss>
  </PropertyGroup>
</Project>

默认的 Visual Studio 文件排除了这些文件。*.user.gitIgnore

如果希望将此设置存储在 git 存储库中,则需要通过直接编辑项目文件的 xml 并添加以下内容来手动将其添加到文件中:.sqlproj

    <BlockOnPossibleDataLoss>True</BlockOnPossibleDataLoss>

添加到任何默认属性组或新属性组。

为此,请卸载项目:

Unload project in the context menu of the solution explorer

然后编辑项目(如果 XML 视图未自动打开):Edit the project from the context menu in the solution explorer

将属性添加到项目文件:

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
  <PropertyGroup>
    <BlockOnPossibleDataLoss>True</BlockOnPossibleDataLoss>
  </PropertyGroup>
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <Name>Database1</Name>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectVersion>4.1</ProjectVersion>
    <ProjectGuid>{9b8b7b42-6d5c-4711-b7fa-567d2c0c6642}</ProjectGuid>
    <DSP>Microsoft.Data.Tools.Schema.Sql

重新加载项目:

Reload the project from the solution explorer

该设置现在已从用户设置提升到项目文件,更改应显示在 git 更改中,随时可以提交:

enter image description here