我有一个用Visual Studio 2022编译的C++库,必须发布到内部nuget提要(普通网络共享文件夹)。是否有一种方法可以将库的pdb文件和源代码包含在包中,使其在无法访问源代码控制存储库的计算机上完全可调试(在Visual Studio 2022中)?目前,我使用.nuspec文件来构建包。我知道SourceLink,但一直找不到任何提到使用它与一个普通的文件夹在包中,而不是一个托管的云服务。我没有太多的选项来启动服务或使用外部资源,我也不在乎调试材料是否会使包膨胀,因为它只供小型内部开发组使用。
下面是我当前的.nuspec文件的样子:
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>Corp.MyLib.Cpp</id>
<version>0.1.0.0</version>
<description>My library</description>
<authors>Me</authors>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<tags>native, nativepackage, mylib, C++, Corp</tags>
<dependencies>
<group targetFramework="native0.0" />
</dependencies>
</metadata>
<files>
<!-- Targets & Props -->
<file src=".\Corp.MyLib.Cpp.targets" target="build\native\Corp.MyLib.Cpp.targets" />
<!-- All header files -->
<file src="..\Build\**\*.h" target="lib\native\include" />
<!-- Binaries -->
<!--
Project is already configured to build outputs to appropriate subpath under lib
\win\$(PlatformTarget)\win-$(PlatformTarget)-$(Configuration)\$(PlatformToolset)
Ex: \win\x86\win-x86-Release\v143\mylib.lib
-->
<file src="..\Build\Lib\**" target="build\native\lib\" />
</files>
</package>
字符串
1条答案
按热度按时间thtygnil1#
1.在.nuspec旁边创建一个名为lib的子文件夹。把.dll,lib,exp. lib文件夹中的pdb文件。
2.添加
<file src="lib\**" target="lib" />
3.在nuget packg之后,你可以通过修改文件扩展名为zip来检查包,并且会有一个lib文件夹。
注意:与C#不同,您需要在下载本机包后手动添加库作为依赖项。
your.nuspec:
字符串