gpt4 book ai didi

NuGet 添加外部引用

转载 作者:行者123 更新时间:2023-12-03 07:50:09 29 4
gpt4 key购买 nike

我的项目有一个 .nuspec 文件,该文件引用了包括我的包在内的项目需要引用的第三方 DLL。

<?xml version="1.0"?>
<package >
<metadata>
<id>$id$</id>
<version>$version$</version>
<title>$title$</title>
<authors>$author$</authors>
<owners>$author$</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>$description$</description>
<releaseNotes>Locked against log4net 1.2 - less than 1.2.11 which has breaking changes</releaseNotes>
<copyright>Copyright 2012 blah blah</copyright>
<dependencies>
<dependency id="log4net" version="[1.2,1.2.11)" />
<dependency id="My.Other.Project" />
</dependencies>
<references>
<reference file="Third.Party.dll" />
</references>


如果我尝试从包含 .csproj 和 .nuspec 文件的目录中运行 nuget.exe pack My.Project.csproj,我会得到

无效的程序集引用“Third.Party.dll”。确保 lib 目录中存在名为“Third.Party.dll”的文件。

我创造了
.\lib
.\bin\调试\lib
.\obj\lib

并且文件在所有三个地方。它真的想要 lib 文件夹在哪里?

最佳答案

< references > 元素定义了安装包时将添加到项目中的引用。您缺少的是定义作为包一部分的文件的部分,该部分是通过 < files 完成的。 > 元素。因此,您的 .nuspec 文件应如下所示:

<?xml version="1.0"?>
<package>
<metadata>
<id>$id$</id>
<version>$version$</version>
<title>$title$</title>
<authors>$author$</authors>
<owners>$author$</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>$description$</description>
<releaseNotes>Locked against log4net 1.2 - less than 1.2.11 which has breaking changes</releaseNotes>
<copyright>Copyright 2012 blah blah</copyright>
<dependencies>
<dependency id="log4net" version="[1.2,1.2.11)" />
<dependency id="My.Other.Project" />
</dependencies>
<references>
<reference file="Third.Party.dll" />
</references>
</metadata>
<files>
<file src="lib\Third.Party.dll" target="lib"/>
</files>
</package>

唯一的区别是元数据元素之后的文件元素。

关于NuGet 添加外部引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8764236/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com