我应该将文件放在 nuget 包中的什么位置以便恢复它们?
Where do I put files in a nuget package so that they will be restored?
我正在为我们拥有的一些大型数据库模式设置 dacpacs 的 nuget 包。这是元数据的示例:
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>xxxx.DACPAC</id>
<version>1.0.0</version>
<title>xxxxDatabase dacpac</title>
<authors>xxxxxxxxx</authors>
<owners>xxx</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<projectUrl>xxx-database.git</projectUrl>
<iconUrl>http://github.com/contoso/UsefulStuff/nuget_icon.png</iconUrl>
<description>DACPAC for xxxx Database</description>
<releaseNotes>Initial release</releaseNotes>
<copyright>Copyright ©2019 xxxx</copyright>
<tags>dacpac database xxxxxx</tags>
</metadata>
</package>
.nupkg 看起来像这样
内容目录如下:
这很好用。然后,我使用 ssdt 项目和骨架 c# 项目创建了一个解决方案。我使用 c# 项目来保存 dacpacs。我可以对它们进行 nuget,然后在 ssdt 项目中添加指向 dacpacs 的数据库引用。 dacpacs 不在 git 中(我的部分目标是将它们拒之门外)。
我提交 repo,然后将其克隆到一个空目录。目前还不错。
接下来,我使用 nuget 来恢复 visual studio 中的包。但是 dacpacs 没有恢复!我认为那是因为它们位于包中的 "content" 目录中,据我所知,这些文件未被 nuget 恢复。
所以,我的问题是,将这些文件放在哪里以便 恢复它们?哪个 nupkg 目录?内容不起作用。试过工具无果。我想我应该在另一次盲目尝试之前问一下。
So, my question is, where to put these files so that they will be
restored? Which nupkg directory? Content doesn't work. Tried tools to
no avail. Thought I should ask before another blind attempt.
Nuget Restore
是下载mssing包。并且 xx.nupkg
中的内容只会在一个包的 安装时间 添加到项目中。 Nuget restore
无法取回内容文件,这不是恢复的工作。所以它与我们将文件放在哪个目录无关,它只是 nuget restore
不支持的一项工作...
解决方法: 您可以在 Package Manager Console
中使用 Update-Package -reinstall
重新安装软件包。并且内容文件将被添加回项目。更多详细信息,请参阅 this document。希望对您有所帮助:)
我正在为我们拥有的一些大型数据库模式设置 dacpacs 的 nuget 包。这是元数据的示例:
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>xxxx.DACPAC</id>
<version>1.0.0</version>
<title>xxxxDatabase dacpac</title>
<authors>xxxxxxxxx</authors>
<owners>xxx</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<projectUrl>xxx-database.git</projectUrl>
<iconUrl>http://github.com/contoso/UsefulStuff/nuget_icon.png</iconUrl>
<description>DACPAC for xxxx Database</description>
<releaseNotes>Initial release</releaseNotes>
<copyright>Copyright ©2019 xxxx</copyright>
<tags>dacpac database xxxxxx</tags>
</metadata>
</package>
.nupkg 看起来像这样
内容目录如下:
这很好用。然后,我使用 ssdt 项目和骨架 c# 项目创建了一个解决方案。我使用 c# 项目来保存 dacpacs。我可以对它们进行 nuget,然后在 ssdt 项目中添加指向 dacpacs 的数据库引用。 dacpacs 不在 git 中(我的部分目标是将它们拒之门外)。
我提交 repo,然后将其克隆到一个空目录。目前还不错。
接下来,我使用 nuget 来恢复 visual studio 中的包。但是 dacpacs 没有恢复!我认为那是因为它们位于包中的 "content" 目录中,据我所知,这些文件未被 nuget 恢复。
所以,我的问题是,将这些文件放在哪里以便 恢复它们?哪个 nupkg 目录?内容不起作用。试过工具无果。我想我应该在另一次盲目尝试之前问一下。
So, my question is, where to put these files so that they will be restored? Which nupkg directory? Content doesn't work. Tried tools to no avail. Thought I should ask before another blind attempt.
Nuget Restore
是下载mssing包。并且 xx.nupkg
中的内容只会在一个包的 安装时间 添加到项目中。 Nuget restore
无法取回内容文件,这不是恢复的工作。所以它与我们将文件放在哪个目录无关,它只是 nuget restore
不支持的一项工作...
解决方法: 您可以在 Package Manager Console
中使用 Update-Package -reinstall
重新安装软件包。并且内容文件将被添加回项目。更多详细信息,请参阅 this document。希望对您有所帮助:)