我们有一些运行构建任务,对于我的一生,我无法弄清楚为什么ms构建工具没有安装master和msdb dacpac文件所需的master.dacpac文件。
这是它现在所在的位置:
C:\Program Files (x86(\Microsoft Visual Studio\2019\Professional\Common7\IDE\Extensions\Microsoft\SQLDB\Extensions\SqlServer\150\SQLSchemas
目前,在VS2019专业版中,它添加了数据存储和处理工作负载。SQL Server 数据工具是其他几个工作负荷的依赖项,例如:
ASP.NET 和网络开发 ASP.NET 和 Web 开发工具 Azure 数据湖和流分析工具 用于 Web 开发的云工具 在 MS 生成工具中,我注意到安装数据工具工作负载后不会生成 dacpac 文件。
我找错地方了吗?是什么在 C:\Program Files (x86(\Microsoft Visual Studio\2019\Professional\Common7\IDE\Extensions\Microsoft\SQLDB\Extensions\SqlServer\150\SQLSchemas
?我找错地方了吗?是什么在生成 master.dacpac 和 C:\Program Files (x86( \Microsoft Visual 中的 system.dacpac Studio\2019\Professional\Common7\IDE\Extensions\Microsoft\SQLDB\Extensions\SqlServer\150\SQLSchemas?
据我所知,master.dacpac
和msdb.dacpac
文件就像模板一样,您将将其用作项目中的默认数据库。它们正用于开发VS2019中的数据库项目。
测试
我已经在我的机器中安装了一个新的VS2019专业版。首先,我安装了工作负载.Net desktop development
,并且没有在目标路径中生成文件。然后我安装了Data Storage and processing
工作负载,发现文件已安装。之后,我尝试在构建工具中安装相应的模块,但没有生成文件。
基于此,我可以确认此文件是在VS2019 IDE而不是构建工具中安装Data Storage and processing
工作负载时生成的。
此外,对于用于构建项目(包括数据库项目(的构建工具,安装构建工具时不会生成文件,它只是设计使然。
样本
<ArtifactReference Include="$(DacPacRootPath)ExtensionsMicrosoftSQLDBExtensionsSqlServer150SqlSchemasmaster.dacpac">
<HintPath>$(DacPacRootPath)ExtensionsMicrosoftSQLDBExtensionsSqlServer150SqlSchemasmaster.dacpac</HintPath>
<SuppressMissingDependenciesErrors>False</SuppressMissingDependenciesErrors>
<DatabaseVariableLiteralValue>master</DatabaseVariableLiteralValue></ArtifactReference>
在VS2019中开发时引用系统数据库时,提示路径将是
C:Program Files (x86)Microsoft Visual Studio2019ProfessionalCommon7IDEExtensionsMicrosoftSQLDBExtensionsSqlServer150SQLSchemas`.
$(DacPacRootPath)
会像C:Program Files (x86)Microsoft Visual Studio2019ProfessionalCommon7IDE
一样选择.
但是,当您使用构建工具在另一台计算机上构建此项目而不安装VS2019时,您可能会遇到某些客户报告的此问题。
>>
如果你面对它,你可以参考它,Microsoft似乎在最新版本的MSBuild工具中有一个修复程序。
此外,如果您只想让 MSBuild 工具在 MSBuild 文件夹中生成master.dacpac
文件,您可以向 DC 论坛建议一个功能来反映它。
希望它能帮助你。
正如Lance Li所建议的那样,这些文件确实是安装的,而不是生成的 是的,VS 2019构建工具中存在一个错误,该错误已在16.4.1版本的构建工具中修复。