小编Nik*_*las的帖子

Nuget:将多个大型解决方案迁移到 PackageReference

背景

我正在处理一个包含多个大型解决方案的大型项目。总而言之,我们有超过 400 个 C# 项目。过去,我们将 Nuget 与packages.config文件一起用于我们的依赖项。现在我们要将所有项目迁移到新PackageReference格式。

问题

我知道 Visual Studio 提供了将单个项目从格式迁移packages.configPackageReference格式的解决方案,但我不知道可以一次迁移多个 Visual Studio 解决方案的解决方案。我不需要 Visual Studio 的兼容性检查,因为所有使用的包都与新格式兼容。

是否有一种方便的方法可以一次packages.config将多个 Visual Studio 解决方案从PackageReference格式迁移到格式?

.net migration visual-studio nuget packagereference

8
推荐指数
1
解决办法
1623
查看次数

net-snmp没有正确更改auth和priv协议

我在Linux下的c ++程序中使用net-snmp库(版本5.7.1).我有一个Web-Frontend,用户可以选择SNMP版本并进行配置.SNMPv1和SNMPv2工作得很好,但是我遇到了SNMPv3的一些问题.

这是前端的图片:Webinterface的屏幕截图(很抱歉没有在这里直接上传,但我需要至少10个声誉才能这样做)

当我启动c ++后端并正确输入所有需要的SNMPv3凭据时,一切正常,设备可以访问.如果我将Auth协议从MD5更改为SHA,但保留其余凭据相同,我预计设备将无法再访问.实际上它仍然可以访问.重新启动后端后,设备(正如预期)不再可以使用相同的设置访问.

在发现这个问题后,我进行了一些测试.对于测试,我使用了不同的用户和不同的设置.他们使用不同供应商的三种不同设备运行,每次都得到相同的结果.所以它不能是设备相关的问题.结果可以在这里看到:测试结果

我在测试后的结论是,net-snmp似乎为一个用户名缓存了所选的auth和priv协议.在Test 2中可以看出这一点非常好.第一次使用具有特定协议的用户名时,我得到了预期的结果.更改协议后,预计会有不同的结果,但我仍然得到与以前相同的结果.

最后,一些信息是如何进行SNMP调用的:

  • 有一个叫做的类SNMPWrapper,它涉及整个SNMP通信
  • 在构造函数内部,我调用init_snmp()init net-snmp
  • 从外面我只能打电话get(),set()而且walk().每次调用其中一个方法时,都会创建一个新的SNMP会话(首先我创建一个新的Session snmp_sess_init(),而不是设置所需的东西,最后我打开会话snmp_sess_open()
  • 在我提出请求并收到我的回答后,我关闭了会话 snmp_sess_close()

问题:在更改协议之前是否必须进行任何其他清理才能使其正常工作?

编辑:我添加了一些代码,显示了所描述的行为

int main(int argc, char** argv) {
struct snmp_session session, session1, *ss, *ss1;
struct snmp_pdu *pdu, *pdu1;
struct snmp_pdu *response, *response1;

oid anOID[MAX_OID_LEN];
size_t anOID_len = MAX_OID_LEN;

struct variable_list *vars;
int status, status1;

init_snmp("snmpapp");

const char* user = "md5";
string authpw = "123123123";
string privpw …
Run Code Online (Sandbox Code Playgroud)

c c++ net-snmp

3
推荐指数
1
解决办法
1360
查看次数

标签 统计

.net ×1

c ×1

c++ ×1

migration ×1

net-snmp ×1

nuget ×1

packagereference ×1

visual-studio ×1