PRISM-Library 2.6.49

There is a newer version of this package available.
See the version list below for details.
dotnet add package PRISM-Library --version 2.6.49
                    
NuGet\Install-Package PRISM-Library -Version 2.6.49
                    
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="PRISM-Library" Version="2.6.49" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="PRISM-Library" Version="2.6.49" />
                    
Directory.Packages.props
<PackageReference Include="PRISM-Library" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add PRISM-Library --version 2.6.49
                    
#r "nuget: PRISM-Library, 2.6.49"
                    
#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.
#:package PRISM-Library@2.6.49
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=PRISM-Library&version=2.6.49
                    
Install as a Cake Addin
#tool nuget:?package=PRISM-Library&version=2.6.49
                    
Install as a Cake Tool

PRISM Class Library

The PRISM Class Library (PRISM.dll) is a collection of routines used by many of the software tools that support the Proteomics Research Information and Management System (PRISM) at PNNL. Although written for use by PRISM tools, the methods in the PRISM class library are general utility methods, and are not dependent on any PNNL resources.

The PRISM Windows class Library (PRISMWin.dll) is a set of Windows-specific utilities.

NuGet

PRISM.Dll is available on NuGet at:

PRISMWin.dll is available on NuGet at:

Continuous Integration

The latest versions of the DLLs are available for six months on the AppVeyor CI server

Build status

Important Classes in PRISM.dll

Category Class Description
Application Settings Management CommandLineParser Flexible, powerful class for keeping parameters flags and properties for command line arguments tied together, supporting properties of primitive types (and arrays of primitive types). Supports parameter flags similar to /d -dd --dir, with case sensitivity when needed, with the separator between parameter flag and parameter as ' ' or ':'.
Application Settings Management GenericParserOptions Methods that demonstrates how to decorate properties in a class so that the CommandLineParser can use them to match command line arguments.
Application Settings Management clsParseCommandLine Methods for parsing command line switches like /O and /Width:5 (not as advanced as CommandLineParser).
Application Settings Management MgrSettings Loads settings from .exe.config files, and other similarly formatted files that reside in the same directory as a program executable file.
Application Settings Management XmlSettingsFileAccessor Methods for reading and writing settings in an Xml settings file.
Database Utilities DBTools Obsolete SQL Server database access methods; use PRISMDatabaseUtils.dll instead (see below)
Database Utilities ExecuteDatabaseSP Obsolete SQL Server stored procedure methods; use PRISMDatabaseUtils.dll instead (see below)
File/Directory Processor Base Class ProcessFilesBase Base class for classes that process a file or files, creating new output files in an output directory.
File/Directory Processor Base Class ProcessDirectoriesBase Base class for classes that process a directory or directories.
File Utilities FileTools Methods for copying, moving, and deleting files and directories. Supports a queueing mechanism that uses lock files to avoid overloading a remote server with too many data transfer requests. Also includes methods for reading/writing Gzipped files that include filename and modification date metadata in the .gz file header.
File Utilities PathUtils Cross-platform path utilities.
File Utilities ShareConnector Methods for connecting a machine to an SMB/CIFS share using a password and user name.
File Utilities ZipTools Methods for programmatically creating and working with zip files using PKZip.
Logging LogTools Class for handling logging via the FileLogger and DatabaseLogger.
Logging FileLogger Logs messages to a file.
Logging ODBCDatabaseLogger Logs messages to an database by calling a stored procedure using ODBC.
Logging SQLServerDatabaseLogger Logs messages to a SQL Server database by calling a stored procedure.
Logging EventNotifier Abstract class that implements various status events, including status, debug, error, and warning events.
Output Utilities ConsoleMsgUtils Methods for displaying messages at the console while monitoring a class that inherits EventNotifier. Uses colors for different message types. Also includes WrapParagraph methods for wrapping a paragraph to a given number of characters.
Output Utilities StackTraceFormatter Methods for formatting stack traces from exceptions, either as a single line with methods separated by -:- or as multiple lines.
Output Utilities StringUtilities Methods for converting doubles to strings, either specifying the number of digits to displate after the decimal, or specifying the total digits of precision to display (considering digits left and right of the decimal point).
Program Execution ProgRunner Methods for running a single program as an external process, including monitoring it with an internal thread.
System Info LinuxSystemInfo Methods to determine memory usage, CPU usage, and Linux system version.
System Info OSVersionInfo Methods for determining the currently running operating system. Supports both Windows and Linux.
System Info SystemInfo Methods for accessing system processor and memory information. Works for both Windows and Linux.
System Info WindowsSystemInfo Methods returning system information for Windows, pulled via P/Invoke.

Important Classes in PRISMDatabaseUtils.dll

Category Class Description
Database Utilities DbToolsFactory Methods for obtaining an instance of SQLServerDBTools or PostgresDBTools, which can be used to query databases or call stored procedures in databases.
Database Utilities DataTableUtils Methods for appending columns to a data table. Also includes methods for retrieving data from a row of values, using a columnMap dictionary.
Database Utilities PostgresDBTools Methods for interacting with a PostgreSQL database to run ad-hoc queries and obtain the results. Also supports calling stored procedures (which may return results via INOUT parameters).
Database Utilities SQLServerDBTools Methods for interacting with a SQL Server database to run ad-hoc queries and obtain the results. Also supports calling stored procedures (which may or may not return results).
Application Settings Management MgrSettingsDB Inherits from MgrSettings. Loads settings from the Manager_Control database, and merges those settings with those loaded from the .exe.config files by the base class.

Important Classes in PRISMWin.dll

Class Description
DiskInfo Provides information on free disk space, both on local drives and on remote Windows shares
DotNETVersionChecker Reports the installed versions of the .NET framework on the local computer
ProcessStats Reports the number of CPU cores in use by a given process

CopyWithResume

Also included is the CopyWithResume console application. Use this program to copy large files between computers, with the ability to resume the copy if the network connection is lost (or the copy process is manually terminated).

Contacts

Written by Matthew Monroe, Dave Clark, Gary Kiebel, Nathan Trimble, and Bryson Gibbons for the Department of Energy (PNNL, Richland, WA)
Copyright 2020, Battelle Memorial Institute. All Rights Reserved.
E-mail: matthew.monroe@pnnl.gov or proteomics@pnnl.gov
Website: https://github.com/PNNL-Comp-Mass-Spec/ or https://panomics.pnnl.gov/ or https://www.pnnl.gov/integrative-omics

License

Licensed under the Apache License, Version 2.0; you may not use this program except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

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.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net461 was computed.  net462 is compatible.  net463 was computed.  net47 was computed.  net471 was computed.  net472 is compatible.  net48 is compatible.  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.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on PRISM-Library:

Package Downloads
PRISM-DatabaseUtils

Library of database interaction methods used by software applications that automate tasks in the Proteomics Research Information and Management System (PRISM) at Pacific Northwest National Laboratory.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.9.20 627 7/9/2025
2.9.18 482 7/8/2025
2.9.17 487 7/8/2025
2.9.16 532 6/13/2025
2.9.15 528 6/13/2025
2.9.12 553 6/13/2025
2.9.11 627 6/12/2025
2.9.6 650 3/12/2025
2.9.5 1,033 11/21/2024
2.9.1 595 11/14/2024
2.8.40 504 10/16/2024
2.8.39 463 10/16/2024
2.8.38 539 9/25/2024
2.8.36 581 9/13/2024
2.8.34 590 9/6/2024
2.8.33 533 9/6/2024
2.8.32 13,782 8/9/2024
2.8.31 1,046 7/19/2024
2.8.27 623 6/27/2024
2.8.26 599 6/18/2024
2.8.25 534 6/18/2024
2.8.24 533 6/18/2024
2.8.19 533 6/14/2024
2.8.17 773 1/11/2024
2.8.17-gf0faf82cc2 225 5/9/2024
2.8.17-gc5a904b9ea 190 5/9/2024
2.8.16 558 1/11/2024
2.8.12 767 7/27/2023
2.8.10 640 7/21/2023
2.8.8 918 5/3/2023
2.8.7 1,496 2/2/2023
2.8.6 1,089 1/20/2023
2.8.5 909 1/18/2023
2.8.4 890 1/17/2023
2.8.2 869 1/17/2023
2.8.1-gfde4693f14 303 1/17/2023
2.8.0 1,230 11/16/2022
2.7.0 1,753 4/21/2022
2.6.50 910 4/18/2022
2.6.49 945 4/14/2022
2.6.48 1,249 2/4/2022
2.6.47 926 2/4/2022
2.6.46 928 2/4/2022
2.6.45 920 1/21/2022
2.6.44 904 1/20/2022
2.6.43 1,021 12/9/2021
2.6.42 958 11/12/2021
2.6.41 874 10/27/2021
2.6.40 899 10/25/2021
2.6.39 880 10/22/2021
2.6.38 873 10/22/2021
2.6.37 1,010 9/21/2021
2.6.36 1,050 9/18/2021
2.6.35 892 9/13/2021
2.6.34 929 9/12/2021
2.6.33 883 8/25/2021
2.6.32 1,018 8/19/2021
2.6.31 1,027 8/13/2021
2.6.30 1,012 8/12/2021
2.6.29 1,024 8/11/2021
2.6.28 921 5/21/2021
2.6.27 1,100 4/16/2021
2.6.26 932 3/19/2021
2.6.25 903 3/4/2021
2.6.24 858 3/3/2021
2.6.23 941 2/10/2021
2.6.22 998 12/7/2020
2.6.21 944 12/4/2020
2.6.20 956 12/3/2020
2.6.19 980 12/2/2020
2.6.18 1,145 11/17/2020
2.6.17 1,079 9/18/2020
2.6.16 1,003 9/15/2020
2.6.15 980 9/15/2020
2.6.14 959 9/9/2020
2.6.13 1,097 9/4/2020
2.6.12 984 9/3/2020
2.6.11 1,001 9/2/2020
2.6.10 1,144 8/27/2020
2.6.9 1,362 7/11/2020
2.6.8 1,053 7/10/2020
2.6.7 1,355 6/10/2020
2.6.6 1,412 6/9/2020
2.6.5 1,188 6/5/2020
2.6.4 1,398 3/19/2020
2.6.3 1,049 3/19/2020
2.6.2 1,081 3/6/2020
2.6.1 2,405 2/12/2020
2.6.0 1,446 2/7/2020
2.5.33 1,131 11/21/2019
2.5.32 1,058 11/20/2019
2.5.31 1,041 11/19/2019
2.5.30 1,029 11/15/2019
2.5.29 1,021 11/15/2019
2.5.28 1,040 11/13/2019
2.5.27 1,045 11/13/2019
2.5.26 1,150 9/19/2019
2.5.25 1,116 8/1/2019
2.5.24 1,111 7/3/2019
2.5.23 1,086 6/21/2019
2.5.22 1,083 6/17/2019
2.5.21 1,114 6/4/2019
2.5.20 1,131 5/9/2019
2.5.19 1,135 5/8/2019
2.5.18 1,135 5/1/2019
2.5.17 1,181 3/23/2019
2.5.16 1,106 3/21/2019
2.5.15 1,128 3/21/2019
2.5.14 1,122 3/21/2019
2.5.13 1,103 3/21/2019
2.5.12 1,147 3/14/2019
2.5.11 1,315 1/24/2019
2.5.10 1,319 12/11/2018
2.5.9 1,207 12/11/2018
2.5.8 1,368 10/18/2018
2.5.7 1,313 10/18/2018
2.5.6 1,341 10/18/2018
2.5.5 1,359 10/18/2018
2.5.4 1,300 10/16/2018
2.5.3 1,291 10/15/2018
2.5.2 1,354 10/13/2018
2.5.1 1,384 10/11/2018
2.5.0 1,334 10/10/2018
2.4.94 1,371 10/2/2018
2.4.93 1,350 9/20/2018
2.4.92 1,567 7/23/2018
2.4.91 1,795 7/18/2018
2.4.90 1,828 7/7/2018
2.4.89 1,852 6/26/2018
2.4.88 1,864 6/21/2018
2.4.87 1,813 6/5/2018
2.4.86 1,895 6/1/2018
2.4.85 1,883 5/31/2018
2.4.84 1,917 4/11/2018
2.4.83 1,828 4/10/2018
2.4.82 1,899 3/23/2018
2.4.81 1,871 3/22/2018
2.4.80 1,567 3/21/2018
2.4.79 1,845 3/17/2018
2.4.78 1,855 3/15/2018
2.4.77 1,872 3/15/2018
2.4.76 1,934 3/14/2018
2.4.75 1,900 3/12/2018
2.4.74 1,905 2/17/2018
2.4.73 1,850 2/16/2018
2.4.72 1,862 2/14/2018
2.4.71 1,853 2/14/2018
2.4.70 1,903 2/9/2018
2.4.68 1,861 2/8/2018
2.4.65 1,822 2/7/2018
2.4.64 1,823 2/7/2018
2.4.63 1,636 2/6/2018
2.4.62 1,900 2/6/2018
2.4.61 1,853 2/5/2018
2.4.60 1,906 2/3/2018
2.4.59 1,850 2/3/2018
2.4.58 1,913 1/23/2018
2.4.57 1,861 1/22/2018
2.4.56 1,918 1/18/2018
2.4.55 1,886 1/17/2018
2.4.54 1,657 1/12/2018
2.4.53 1,929 1/12/2018
2.4.52 1,877 1/11/2018
2.4.51 1,883 1/11/2018
2.4.50 1,904 1/7/2018
2.4.49 1,639 12/5/2017
2.4.48 1,857 11/16/2017
2.4.47 1,813 11/15/2017
2.4.46 1,882 11/15/2017
2.4.45 1,875 11/15/2017
2.4.44 1,837 11/11/2017
2.4.43 1,853 11/10/2017
2.4.42 1,834 11/10/2017
2.4.41 1,863 11/9/2017
2.4.40 1,845 10/27/2017
2.4.39 1,895 10/19/2017
2.4.38 1,851 10/17/2017
2.4.37 1,843 10/17/2017
2.4.36 1,845 10/13/2017
2.4.35 1,823 10/13/2017
2.4.34 1,863 10/10/2017
2.4.33 1,862 10/10/2017
2.4.32 1,900 9/11/2017
2.4.31 1,877 9/9/2017
2.4.30 1,830 9/9/2017
2.4.29 1,849 9/9/2017
2.4.28 1,816 9/9/2017
2.4.27 1,861 9/8/2017
2.4.26 1,863 9/8/2017
2.4.25 1,843 9/3/2017
2.4.24 1,856 9/2/2017
2.4.23 1,872 8/31/2017
2.4.22 1,861 8/31/2017
2.4.21 1,650 8/25/2017
2.4.20 1,671 8/24/2017
1.0.19 1,775 8/24/2017
1.0.18 1,663 8/24/2017
1.0.17 1,668 8/14/2017
1.0.16 1,707 8/8/2017
1.0.15 1,643 8/2/2017
1.0.14 1,646 8/2/2017
1.0.13 1,665 8/1/2017
1.0.12 1,715 8/1/2017
1.0.11 1,688 7/28/2017
1.0.10 1,687 7/21/2017
1.0.9 1,699 7/20/2017
1.0.8 1,673 7/20/2017
1.0.7 1,706 7/19/2017
1.0.6 1,695 6/7/2017
1.0.5 1,665 6/5/2017
1.0.4 1,725 5/2/2017
1.0.2 1,975 3/30/2017
1.0.1 2,011 3/28/2017