{"id":22678381,"url":"https://github.com/vnau/ivivisanetsample","last_synced_at":"2025-04-12T14:41:51.358Z","repository":{"id":90914172,"uuid":"96331404","full_name":"vnau/IviVisaNetSample","owner":"vnau","description":"🚀 Simple IVI VISA.NET example with CI and .NET 5+","archived":false,"fork":false,"pushed_at":"2024-06-10T14:38:17.000Z","size":39,"stargazers_count":23,"open_issues_count":1,"forks_count":14,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-03T14:53:20.698Z","etag":null,"topics":["agilent","automation","ci","instruments","ivi","kelar","keysight","kikusui","national-instruments","rohde","rohde-schwarz","visa","visa-net"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vnau.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-07-05T14:59:18.000Z","updated_at":"2025-01-06T21:13:52.000Z","dependencies_parsed_at":"2024-01-25T00:25:03.688Z","dependency_job_id":"ae6cb938-8ee3-4681-b198-52a17892bfb7","html_url":"https://github.com/vnau/IviVisaNetSample","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vnau%2FIviVisaNetSample","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vnau%2FIviVisaNetSample/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vnau%2FIviVisaNetSample/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vnau%2FIviVisaNetSample/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vnau","download_url":"https://codeload.github.com/vnau/IviVisaNetSample/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248582908,"owners_count":21128473,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agilent","automation","ci","instruments","ivi","kelar","keysight","kikusui","national-instruments","rohde","rohde-schwarz","visa","visa-net"],"created_at":"2024-12-09T18:15:01.469Z","updated_at":"2025-04-12T14:41:51.337Z","avatar_url":"https://github.com/vnau.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VISA.NET example #\n\n[![Build Status Github](https://github.com/vnau/IviVisaNetSample/actions/workflows/build.yml/badge.svg)](https://github.com/vnau/IviVisaNetSample/actions/workflows/build.yml) [![Build Status AppVeyor](https://ci.appveyor.com/api/projects/status/dag3r35u0sn1sci3?svg=true)](https://ci.appveyor.com/project/vnau/IviVisaNetSample)\n\nIn the traditional approach, [VISA.NET Shared Components](https://www.ivifoundation.org/Shared-Components/default.html#visa-and-visanet-shared-components) are distributed solely as part of a vendor's installer for its VISA implementation.\nThis approach necessitates the installation of the vendor's VISA library implementation on the CI server environment, even if communication with instruments is not required at this stage.\n\nIf a developed application is intended to work with various third-party VISA implementations, and no VISA libraries are installed, it would be beneficial if it could provide only a part of the functionality or report the necessity of the VISA library.\n\nThis is a simple example of an application bypassing those limitations by using the unofficial NuGet VISA.NET Shared Components distribution, [Kelary.Ivi.Visa](https://www.nuget.org/packages/Kelary.Ivi.Visa/).\n\n### Using VISA.NET in .NET 5+ solutions ###\n\n.NET Standard, introduced in 2016, marked a pivotal moment in the evolution of the .NET ecosystem.\nSince then, many versions of .NET have emerged, diminishing the relevance of the traditional .NET Framework for new projects.\n\nDespite these advancements, VISA.NET remains tied to .NET Framework 2.0, with no indication from the IVI Foundation of plans to embrace modern technologies.\n\nA notable challenge is VISA.NET's limited integration into projects with contemporary .NET runtimes.\nHowever, compatibility has improved since .NET Core 2, allowing referencing of .NET Framework assemblies in compatibility mode. This suggests potential usability of the VISA.NET library and .NET Framework implementations within a modern .NET runtime.\n\nAnother challenge arises as the modern .NET runtime no longer uses the GAC, which VISA.NET relies on.\nThis issue is mitigated by preloading VISA.NET implementations.\n\nIn this repository, an **experimental** .NET 8 example application showcases potential VISA.NET usage with various vendors implementations.\nDespite progress, successful execution is not guaranteed, as the .NET runtime may lack support for all .NET Framework APIs.\nBasic functions have been tested with Rohde \u0026 Schwarz and Keysight implementations, but some functions may require further testing.\n\nWe look forward to the IVI Foundation moving the VISA.NET library from the .NET Framework to the .Net Standard, which will allow VISA.NET to become not only interchangeable, but also cross-platform.\n\nIVI Foundation announces in [VPP-4.3.6](https://www.ivifoundation.org/downloads/VISA/vpp436_2024-02-08.pdf) that the *VISA.NET* shared components version 7.3 and later will be available in both *.NET Framework* versions that target *.NET 4.5*, and *.NET* versions that target *.NET 6.0* or after.\n\n### Existing VISA.NET implementations ###\n\nIn most cases, an application built with VISA.NET Shared Components version 5.5 will work with later implementations of Shared Components.\nFor .NET 5+ projects, the Shared Components version must match those that the implementation depends on.\n\nBelow is a non-exhaustive list of vendor-specific VISA implementations with VISA.NET support.\n\n| Implementation | Size | VISA.NET Shared Components Version |\n| --- | ---- | ---- |\n| [Rohde \u0026 Schwarz VISA 7.2.3 for Windows](https://scdn.rohde-schwarz.com/ur/pws/dl_downloads/dl_application/application_notes/1dc02___rs_v/RS_VISA_Setup_Win_7_2_3.exe)| 63 MB | 7.2 |\n| [NI-VISA 2023 Q4](https://www.ni.com/en/support/downloads/drivers/download.ni-visa.html#494653)| 1.41 GB | 7.2 |\n| [Rohde \u0026 Schwarz VISA 5.12.3 for Windows](https://www.rohde-schwarz.com/us/applications/r-s-visa-application-note_56280-148812.html) | 59 MB | 5.11 |\n| [Keysight IO Libraries Suite 2019](https://www.keysight.com/main/software.jspx?id=2175637) | 251 MB | 5.11 |\n| [NI-VISA 20.0](https://www.ni.com/en/support/downloads/drivers/download.ni-visa.html#346210)| 1.16 GB | 5.11 |\n| [Keysight IO Libraries Suite 2018](https://www.keysight.com/main/software.jspx?id=2175637) | 260 MB | 5.8  |\n| [Keysight IO Libraries Suite 17.2](https://www.keysight.com/main/software.jspx?id=2784293) | 191 MB | 5.6  |\n| [NI-VISA 15.0,17.5](https://www.ni.com/en/support/downloads/drivers/download.ni-visa.html#306106) | 122 MB | 5.6  |\n| [Kikusui KI-VISA 5.5](https://www.kikusui.co.jp/en/download/en/?fn=com_kivisa) | 89 MB | 5.5  |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvnau%2Fivivisanetsample","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvnau%2Fivivisanetsample","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvnau%2Fivivisanetsample/lists"}