问题标签 [nuget-spec]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xml - MSBuild:如何通过 xpath 更新 xml
我正在尝试寻找解决方案,如何使用 MSBuild 脚本更新 nuspec xml 中的发行说明。
现在我已经使用 XmlUpdate 创建了 MSBuild 目标:
这可以正常工作,但前提是 Nuspec 文件已经包含条目。
如何处理根本不存在 releaseNotes 的文件?我可以以某种方式从 xpath 获取数字,如果它为零,则使用另一个函数进行 xml 更新?
PS:来自 MSBuildTasks 的 NuGetPack 扩展不适用于包元数据。
nuget - .nuspec 中 NuGet 包描述中的超链接
我正在开发一个 NuGet 包并在 github.com 上保持开源
安装后我的包需要在 VS 解决方案中完成一些配置步骤,我将其记录在 github 上的 README.md 文件中。
我想在 NuGet 包中引用这个 README.md 文件,以便人们知道包安装后要做什么。
我在.nuspec<projectUrl>
文件中指定了指向我在 github 上的 Git 存储库。但是对于用户来说,他们需要单击它来阅读文档并不明显。
我想让用户按照链接阅读完整文档的声音清晰明了。最好有一个超链接,例如在.nuspec<description>
文件的字段中,因此它在以下位置显示为超链接:
- nuget.org 上的项目页面
- 浏览\安装包时在 Visual Studio 中显示的包详细信息
我尝试了不同的方法来添加链接,例如 XML 转义<
和>
as <
,>
但它不会将其显示为链接,而只是显示为 html 文本。
nuget - 我可以在 NuGet 包中包含文件,但仅在直接安装包时(而不是作为依赖项)?
我想创建一个 NuGet 包,其中包含添加到安装包的项目中的文件。到目前为止,一切都很简单。
但是,我也想从该项目创建一个 NuGet 包。并将其安装到第三个项目。有什么办法可以避免将第一个项目中的文件添加到第三个项目中?
这是设置:
Acme.Doxygen - “第一个包” - 为 doxygen 生成设置目标项目
Acme.MyToolLibrary - “第二个包” - 我想在此处导入 Acme.Doxygen,以便使用 Doxygen 记录该项目。Acme.Doxygen 将文件“Doxyfile”添加到该项目的根目录。
Acme.MyWebSite - “第三个包” - 我想在这个项目中安装 MyToolLibrary,但是这个项目对 Doxygen 不感兴趣。
问题:当我在 Acme.MyWebSite 中安装 Acme.MyToolLibrary 时,Doxyfile 被添加到 Acme.MyWebSite 的根目录中。我的网站对 Doxygen 不感兴趣,我不希望这种情况发生。
为了避免 Acme.MyWebSite 依赖于 Acme.Doxygen,我在 Acme.MyToolLibrary 的 packages.config 文件中对 Acme.Doxygen 的引用设置了 'developmentDependency="true"'。这很好用——Acme.MyWebSite 不依赖于 Acme.Doxygen。但是 - 如何配置我的 NuGet 包,以便相同的逻辑适用于我的 NuGet 包中包含的 Doxyfile?
nuget - 无法安装软件包“--”。您正在尝试将此包安装到以 '.NETFramework,Version=v4.5' 为目标的项目中
我创建了这个包,我在项目中需要它但无法安装它,出现此错误:
无法安装软件包“Mshwf.NiceLinq 1.0.9”。您正在尝试将此包安装到以“.NETFramework,Version=v4.5”为目标的项目中,但该包不包含任何与该框架兼容的程序集引用或内容文件。有关更多信息,请联系包作者
我不知道为什么会发生这种情况,在另一个项目(控制台)中我将框架更改为 4.6 和其他版本,这不是问题,但这仅发生在这个项目(MVC 和 Web API)中:
这是 nuspec 文件:
nuget - Nuget 在错误的平台文件夹中解压程序集
我创建了一个简单的 nuget 包,其中包含一个位于 lib\net40 下的程序集。
如果我解压缩 nuget 包,我可以验证该程序集确实存在于 lib\net40 下。
现在,当我使用 Visual Studio Nuget UI 在我的 .net 项目中安装这个包时,程序集会被解压到错误的文件夹中。它没有像我期望的那样在 packages\my_package\lib\net40 下解包,而是在 packages\my_package\lib\ net20下解包。
该程序集是一个 .net-2.0 库,因此您可能会争辩说我的 Nuget 包是错误的,但这是预期的和记录的行为,或者还有什么可能是该程序集没有像我预期的那样在 net40 下解包的原因?
.net - 在nuget中定位多个框架的最简单方法?
我创建了一个库,它使用:泛型、扩展方法和Func
委托。
Func
委托是库中 .NET(3.5 版)的最新功能。当我将它发布到 nuget 时,该项目的目标是 .NET 版本 4.5.2,但是当我尝试将它安装到目标版本 4.5 的项目中时,它失败了。
如何确保将包安装在任何面向 .NET 3.5 及更高版本的项目上,我应该将库中的目标框架更改为 3.5 还是应该使用目录约定,并为每个框架创建单独的 dll,解释在这里:
c# - 在单个 .net 核心包中发布多个程序集
我正在尝试为 .NET Core发布我的库 ( lz4net )。库“架构”与“普通”略有不同,因为它包含多个程序集,但只应引用一个程序集,其他只是它的依赖项。虽然它们不是单独的包。
因此,程序集LZ4.dll
应该被应用程序引用,而不应该被引用LZ4pn.dll
,它应该在那里,因为LZ4.dll
(主要的)可以使用它。`LZ4pn.dll" 不能单独使用,因此它不作为单独的包发布。
它似乎在:net2、net4 和 pcl 中运行良好,但LZ4pn.dll
如果应用程序没有引用它,netcore 不会“看到”它。
注意:我已经检查并且C:\Users\xxx\nuget\packages\lz4net\1.0.11.93\lib\netstandard1.6
(在安装 .nupkg 之后)确实包含这两个程序集。
因此,LZ4pn.net
不在<references>
部分中,因为它不应该被应用程序直接引用。它不在<dependencies>
部分中,因为它不是需要单独下载的外部依赖项。它就在那里 - 在netstandard1.6
nuget 包的子文件夹中。.NET Framework (2+) 工作正常,但 .NET Core 未发现此程序集。
有什么帮助吗?也许您知道一些使用相同方法的开源包(仅引用顶级组件的多组件包)?
c# - nuget 包 dll 或源文件
我是 nuget 包发布的新手。
正在进行的项目是一个 dot net core 应用程序,它是一个开源项目。
我了解这两个选项content
以及lib
指定target
分发文件时的情况。
因为到目前为止,我还无法将 dll 连接到 mac 上的 .net 核心 Web 应用程序,并且研究表明该选项是提供可用于安装/部署的源代码。
其次,桌面上的用户可以使用提供的程序集 dll 开发他们的项目。
问题是,
用户可以选择要获得什么吗?dll还是源文件?
我是否必须为每个 netstandard、netcore、net 和 uap 创建一个单独的程序集?
我希望为所有上述平台提供程序集(首选)或源代码。二进制文件本身具有一些不调用任何平台特定代码的功能,我们假设它是嵌入在 DLL 中的 HelloWorld 类。
图片来自https://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard/
xamarin.android - 无法使用 project.json 将 nuget 添加到 xamarin.android 项目
我尝试将 nuget 包 MPAndroidChart ( https://www.nuget.org/packages/MPAndroidChart/3.0.1 ) 添加到我的 android 项目中。但我总是收到这样的信息:
当我使用默认的 packages.config 创建一个新项目时,它可以添加项目。有什么我可以用 nuspec 或我的项目来调整的吗?
我的项目.json: