master.dacpac 在 VS 2019 中来自哪里?
Where does master.dacpac come from in VS 2019?
我们有一些 运行 的构建任务,我一直无法弄清楚为什么 MS 构建工具没有安装 master 和msdb dacpac 文件。
这是它现在所在的位置:
C:\Program Files (x86)\Microsoft Visual Studio19\Professional\Common7\IDE\Extensions\Microsoft\SQLDB\Extensions\SqlServer0\SQLSchemas
目前在VS2019 Professional中加入了Data Storage and Processing Workload。 SQL Server Data Tools 依赖于其他几个工作负载,例如:
ASP.NET 和网络开发
ASP.NET 和网络开发工具
Azure 数据湖和流分析工具
用于 Web 开发的云工具
在 MS Build Tools 中,我注意到在安装 Data Tools 工作负载后未生成 dacpac 文件。
我是不是找错地方了?什么在 C:\Program Files (x86)\Microsoft Visual Studio19\Professional\Common7\IDE\Extensions\Microsoft\SQLDB\Extensions\SqlServer0\SQLSchemas 中生成 master.dacpac 和 msdb.dacpac?
Am I looking in the wrong place? What is generating the master.dacpac
and the system.dacpac in C:\Program Files (x86)\Microsoft Visual
Studio19\Professional\Common7\IDE\Extensions\Microsoft\SQLDB\Extensions\SqlServer0\SQLSchemas?
据我所知,master.dacpac
和 msdb.dacpac
文件就像模板一样,您将在项目中将其用作默认数据库。它们被用于在 VS2019 中开发数据库项目。
测试
我的机器安装了新的VS2019专业版。首先,我安装了工作负载 .Net desktop development
并且目标路径中没有生成文件。然后我安装了 Data Storage and processing
工作负载,发现文件已安装。之后,我尝试在Build Tool中安装相应的模块,但是并没有生成文件。
基于此,我可以确认此文件是在您在 VS2019 IDE 中安装 Data Storage and processing
工作负载时生成的,而不是生成工具。
此外,对于Build Tool,用于构建项目包括数据库项目,安装Build Tool时不会生成文件,这只是设计的。
示例
<ArtifactReference Include="$(DacPacRootPath)\Extensions\Microsoft\SQLDB\Extensions\SqlServer0\SqlSchemas\master.dacpac">
<HintPath>$(DacPacRootPath)\Extensions\Microsoft\SQLDB\Extensions\SqlServer0\SqlSchemas\master.dacpac</HintPath>
<SuppressMissingDependenciesErrors>False</SuppressMissingDependenciesErrors>
<DatabaseVariableLiteralValue>master</DatabaseVariableLiteralValue></ArtifactReference>
在VS2019开发时引用系统数据库时,提示路径为
C:\Program Files (x86)\Microsoft Visual Studio19\Professional\Common7\IDE\Extensions\Microsoft\SQLDB\Extensions\SqlServer0\SQLSchemas`.
而$(DacPacRootPath)
会选择C:\Program Files (x86)\Microsoft Visual Studio19\Professional\Common7\IDE
。
但是在没有安装VS2019的情况下使用Build Tool在另一台机器上构建这个项目时,可能会遇到一些客户反映的this issue
>>
遇到的话可以参考一下,微软好像在最新版的MSBuild Tool中有修复
此外,如果你只是想让MSBuild Tool在MSBuild文件夹中生成master.dacpac
文件,你可以向DC Forum建议一个功能来反映它。
希望对您有所帮助。
如Lance Li suggested these files are indeed being installed, not generated And yes, there was a bug in VS 2019 Build Tools which was fixed in 16.4.1 version of Build Tools.
我们有一些 运行 的构建任务,我一直无法弄清楚为什么 MS 构建工具没有安装 master 和msdb dacpac 文件。
这是它现在所在的位置:
C:\Program Files (x86)\Microsoft Visual Studio19\Professional\Common7\IDE\Extensions\Microsoft\SQLDB\Extensions\SqlServer0\SQLSchemas
目前在VS2019 Professional中加入了Data Storage and Processing Workload。 SQL Server Data Tools 依赖于其他几个工作负载,例如:
ASP.NET 和网络开发 ASP.NET 和网络开发工具 Azure 数据湖和流分析工具 用于 Web 开发的云工具 在 MS Build Tools 中,我注意到在安装 Data Tools 工作负载后未生成 dacpac 文件。
我是不是找错地方了?什么在 C:\Program Files (x86)\Microsoft Visual Studio19\Professional\Common7\IDE\Extensions\Microsoft\SQLDB\Extensions\SqlServer0\SQLSchemas 中生成 master.dacpac 和 msdb.dacpac?
Am I looking in the wrong place? What is generating the master.dacpac and the system.dacpac in C:\Program Files (x86)\Microsoft Visual Studio19\Professional\Common7\IDE\Extensions\Microsoft\SQLDB\Extensions\SqlServer0\SQLSchemas?
据我所知,master.dacpac
和 msdb.dacpac
文件就像模板一样,您将在项目中将其用作默认数据库。它们被用于在 VS2019 中开发数据库项目。
测试
我的机器安装了新的VS2019专业版。首先,我安装了工作负载 .Net desktop development
并且目标路径中没有生成文件。然后我安装了 Data Storage and processing
工作负载,发现文件已安装。之后,我尝试在Build Tool中安装相应的模块,但是并没有生成文件。
基于此,我可以确认此文件是在您在 VS2019 IDE 中安装 Data Storage and processing
工作负载时生成的,而不是生成工具。
此外,对于Build Tool,用于构建项目包括数据库项目,安装Build Tool时不会生成文件,这只是设计的。
示例
<ArtifactReference Include="$(DacPacRootPath)\Extensions\Microsoft\SQLDB\Extensions\SqlServer0\SqlSchemas\master.dacpac">
<HintPath>$(DacPacRootPath)\Extensions\Microsoft\SQLDB\Extensions\SqlServer0\SqlSchemas\master.dacpac</HintPath>
<SuppressMissingDependenciesErrors>False</SuppressMissingDependenciesErrors>
<DatabaseVariableLiteralValue>master</DatabaseVariableLiteralValue></ArtifactReference>
在VS2019开发时引用系统数据库时,提示路径为
C:\Program Files (x86)\Microsoft Visual Studio19\Professional\Common7\IDE\Extensions\Microsoft\SQLDB\Extensions\SqlServer0\SQLSchemas`.
而$(DacPacRootPath)
会选择C:\Program Files (x86)\Microsoft Visual Studio19\Professional\Common7\IDE
。
但是在没有安装VS2019的情况下使用Build Tool在另一台机器上构建这个项目时,可能会遇到一些客户反映的this issue
>>
遇到的话可以参考一下,微软好像在最新版的MSBuild Tool中有修复
此外,如果你只是想让MSBuild Tool在MSBuild文件夹中生成master.dacpac
文件,你可以向DC Forum建议一个功能来反映它。
希望对您有所帮助。
如Lance Li suggested these files are indeed being installed, not generated And yes, there was a bug in VS 2019 Build Tools which was fixed in 16.4.1 version of Build Tools.