在Visual Studio的NuGet包管理器中,您可以通过单击包管理器中的"已安装"选项卡来查看解决方案中已安装的NuGet包.
但是,在同一个包在多个NuGet包源中的情况下,查看特定NuGet包来自哪个包源会很有用.有没有办法在NuGet包管理器或VS中的任何其他地方看到这个?
编辑: 在下面的评论中复制以澄清:
我正在创建一个使用预先存在的项目作为模型的项目.两个项目都需要引用相同的Nuget包,因此我在Visual Studio中打开模型项目,打开Nuget包管理器,并查看其已安装的包.模型项目安装了"PackageA".我打开新项目,为它打开Nuget包管理器,然后浏览"PackageA".我注意到"PackageA"在多个Package Sources中可用.(这些是我公司内部的,而不是nuget,org)在我的新项目中,我想从与模型项目相同的Package Source安装"PackageA"
使用Handlebars.Net,我想创建一个HandlebarsHelper,它将用<br>标签替换回车和换行符.它应该看起来像这样:
string pattern = @"/(\r\n|\n|\r)/gm";
string replacement = "<br>";
Regex rgx = new Regex(pattern);
Handlebars.RegisterHelper("link_to", (string text) =>
{
text = rgx.Replace(text, replacement);
});
Run Code Online (Sandbox Code Playgroud)
编译器(或resharper)告诉我它无法判断我是否正在尝试使用HandlebarsBlockHelper或HandlebarsHelper,而且我在任何一种情况下都缺少参数.
我想要一种方法来遍历Rabbit服务器虚拟主机上的现有队列,并输出队列中的消息数量,而无需将队列名称硬编码为我的C#代码。
这是一个使用RabbitMQ .NET客户端通过对队列值进行硬编码来获取队列中消息数量的示例:
using System;
using RabbitMQ.Client;
namespace RabbitMonitor
{
class Program
{
static void Main(string[] args)
{
var factory = new ConnectionFactory()
{
HostName = "<HostName>",
UserName = "<UserName>",
Password = "<Password>",
VirtualHost = "<VirtualHost>",
Port = 5672
};
var queueNameMessageCount = 0;
using (var connection = factory.CreateConnection())
using (var channel = connection.CreateModel())
{
queueNameMessageCount = channel.MessageCount("<QueueName>");
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以使用RabbitMQ .NET Client获得给定虚拟主机上的队列/队列名称的集合?
相关:是否可以使用RabbitMQ .NET Client在服务器上获取虚拟主机/虚拟主机名的集合?
我有一个我从nuget.org下载的nuget包目录.我正在尝试创建一个正则表达式来解析文件名中的包名称和版本号.乍一看似乎并不困难; 文件名有一个清晰的模式:
{PACKAGENAME}.{VERSIONNUMBER} .nupkg
边缘情况使其具有挑战性.
这是nuget包文件名的示例列表:
knockoutjs.3.4.2.nupkg
log4net.2.0.8.nupkg
runtime.tizen.4.0.0-armel.microsoft.netcore.jit.2.0.0.nupkg
nuget.core.2.7.0-alpha.nupkg
microsoft.identitymodel.6.1.7600.16394.nupkg
Run Code Online (Sandbox Code Playgroud)
我希望能够在严肃文本编辑器中进行搜索/替换,其中搜索是具有两个组的正则表达式,一个用于包名称,一个用于版本号.输出应为"Package:\ 1 Version:\ 2".使用上面的5个包,输出应该是:
Package: knockoutjs Version: 3.4.2
Package: log4net Version: 2.0.8
Package: runtime.tizen.4.0.0-armel.microsoft.netcore.jit Version: 2.0.0
Package: nuget.core Version: 2.7.0-alpha
Package: microsoft.identitymodel Version: 6.1.7600.16394
Run Code Online (Sandbox Code Playgroud)
我提出的最接近相对简洁的正则表达式是:
^([^\s]*)\.((?:[0-9]+\.){3,})nupkg$
Run Code Online (Sandbox Code Playgroud)
...导致以下输出:
Package: knockoutjs Version: 3.4.2.
Package: log4net Version: 2.0.8.
Package: runtime.tizen.4.0.0-armel.microsoft.netcore.jit Version: 2.0.0.
nuget.core.2.7.0-alpha.nupkg
Package: microsoft.identitymodel.6 Version: 1.7600.16394.
Run Code Online (Sandbox Code Playgroud)
虽然我不想要那个尾随点,但是它可以很好地处理前三个.它在第四个上甚至不匹配,第五个版本号的第一部分与包名称混为一致.