PigObjFsLib 1.2.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package PigObjFsLib --version 1.2.1                
NuGet\Install-Package PigObjFsLib -Version 1.2.1                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="PigObjFsLib" Version="1.2.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PigObjFsLib --version 1.2.1                
#r "nuget: PigObjFsLib, 1.2.1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install PigObjFsLib as a Cake Addin
#addin nuget:?package=PigObjFsLib&version=1.2.1

// Install PigObjFsLib as a Cake Tool
#tool nuget:?package=PigObjFsLib&version=1.2.1                

PigObjFs

中文文档

This is an object-oriented Microsoft script runtime, that is Microsoft script runtime is used by creating object instead of directly referring to VB6 project. In this way, the compiled EXE file can run on different windows platforms.

There is also a version of .Net 5.0, which can run on Windows and Linux platforms.

Folders and files description

Release

Release execute code directory, if you don't want to see the source program, you can use the files in this directory directly in your VB.NET project.

Release\DotNet

Add the files in the directory to your. Net project or use NuGet, which can run on Windows, Linux and MacOS platforms.

Release\VB6

Add the .cls and .bas files in the directory to your VB6 project, PigObjFs.exe For the compiled sample program.

Src

Source code directory.

Src\DotNet

Support multiple .net frameworks of the source code and console program examples, compiler can run on Windows, Linux and MacOS platform.

Src\DotNet\PigObjFsLib

Library Directory

Src\DotNet\PigObjFsDemo

Sample directory

Src\VB6

VB6 version of the source code and examples.

What is without components

VB's not Objectified approach is to create an ActiveX object through CreateObject, and then use the interface of the class corresponding to the object variable through this object variable, For example:

Set moFS = CreateObject("Scripting.FileSystemObject")。

What are the benefits of without components

The program that can use VB without component has better compatibility. Ideally, the EXE file compiled can run on almost all versions of Windows platform, and there is no need to register components.

Because Windows has a large number of pre installed ActiveX components, these components can be used without registration, but the versions of these components on different versions of Windows platform are not the same, and the complete binary compatibility can not be guaranteed. If you refer to them in VB project and use such as Dim moFS As Scripting.FileSystemObject If ActiveX If the component binary is not compatible, an error will be reported.

But if it is used by creating object, even if the ActiveX component binary is not compatible, as long as the parameters and types of the interface are compatible, it can be used normally. In this way, the compiled VB program has the best compatibility.

How to handle without components

Component free needs to get better compatibility, but what CreateObject gets is an object variable, which is more attribute and method in VB GUI development environment, so the development is not friendly enough.

In order to solve this problem, we can create a "without components" class for the original class, which encapsulates the interface of the original class on the "componentless" class. The specific implementation method can be seen in https://github.com/PhongSeow/PigObjFs/tree/master/Src/VB6.

Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 is compatible. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net40 is compatible.  net403 was computed.  net45 is compatible.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETCoreApp 3.1

    • No dependencies.
  • .NETFramework 4.0

    • No dependencies.
  • .NETFramework 4.5

    • No dependencies.
  • .NETStandard 2.0

    • No dependencies.
  • net5.0

    • No dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on PigObjFsLib:

Package Downloads
GetFileAndDirListLib

A class library that scans the current directory and generates directory lists and file lists.

PigObjFsDemoConsole

Demo console program library for PigObjFsLib.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.0.52 914 5/25/2023
2.0.50 600 5/1/2023
2.0.38 593 4/27/2023
2.0.36 406 4/16/2023
2.0.32 2,249 2/1/2023
2.0.30 5,956 10/16/2022
2.0.28 13,520 6/13/2022
2.0.18 2,289 4/11/2022
2.0.8 677 3/14/2022
1.3.8 2,524 8/28/2021
1.2.5.12 794 7/27/2021
1.2.5.9 406 7/25/2021
1.2.3.16 652 7/9/2021
1.2.3.2 689 2/24/2021
1.2.3 528 1/27/2021
1.2.2 483 1/26/2021
1.2.1 597 1/24/2021
1.1.0 428 1/21/2021
1.0.1 430 1/17/2021
1.0.0 363 1/4/2021

Rename the class name, upgrade from VB6 to VB.NET More easily.