背景
我正在处理一个包含多个大型解决方案的大型项目。总而言之,我们有超过 400 个 C# 项目。过去,我们将 Nuget 与packages.config文件一起用于我们的依赖项。现在我们要将所有项目迁移到新PackageReference格式。
问题
我知道 Visual Studio 提供了将单个项目从格式迁移packages.config到PackageReference格式的解决方案,但我不知道可以一次迁移多个 Visual Studio 解决方案的解决方案。我不需要 Visual Studio 的兼容性检查,因为所有使用的包都与新格式兼容。
题
是否有一种方便的方法可以一次packages.config将多个 Visual Studio 解决方案从PackageReference格式迁移到格式?
我在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-snmpget(),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)