GithubHelp home page GithubHelp logo

billhertzing / atap.utilities Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 17.07 MB

Collection of projects for various helper classes

License: MIT License

C# 60.84% PowerShell 26.40% JavaScript 3.20% Liquid 0.11% CSS 2.58% TSQL 1.21% Groovy 0.01% HCL 0.01% TypeScript 5.66%

atap.utilities's People

Contributors

billhertzing avatar

Watchers

 avatar  avatar

atap.utilities's Issues

Improve tooling and code refactoring to support both DotNetStandard and DotNetFull frameworks.

The current .sln file references a common Directory.Build.props file, found in the solution directory. All of the .csproj files inherit the project attributes found in this file. One important directive, the framework(s) directive <TargetFrameworks>netstandard2.0;net47</TargetFrameworks> , is placed there. Visual Studio 2017 will build separate DLL files for each assembly for both frameworks in separate trees under the bin subdir of each project's folder. This works well except for the Windows APIs for hardware specifics that don't exist in netstandard or dotnetcore.

The DataTransferObjects (DTO) for many of the classes defined in these utilities could be used by the Blazor GUI front end (client) to exchange data with the AceCommander Service/daemon (server-side, ServiceStack based). But Blazor will currently only accept assemblies built to the NetStandard framework.

The DTO classes for the objects found in the ComputerInventory assembly include properties for "Computer" class objects from the OpenHardwareMonitorLib. The Computer property of the ComputerHardware class, used in the constructor for ComputerInventory object, encapsulates a Windows-specific Open Source library that interfaces in real time with the computer hardware the library code it is running upon. In fact, the library allows for polling the HW for current values. The technique is very much Windows OS specific, and may not ever get ported to DotNetStandard.

Similarly, the Unit test assemblies for the ComputerInventory assembly's objects and methods include reference to the OpenHardwareMonitorLib. These unit tests don't 'make' correctly when the placed inside these .csproj files tag specifies both ASPNETCORE and net47.

To clarify, the libraries that make up the utilities should be built against both net47 and NetStandard ,and the unit tests should be built (and run) against the net47 and the NETCOREAPP frameworks <TargetFrameworks>netcoreapp2.0;net47</TargetFrameworks>

The desired solution is, in addition to the functions provided by the libraries, assemblies for the data structures of the libraries that contain a serializable representation.

A clean demarcation, in an assembly/dll, of data structures from functions, will simplify the creation of the data structures client side and server side and facilitate the transfer of objects. Objects compatible with NetStandard framework can be generated conceptually client side, transferred to the server endpoint and accepted, manipulated, created, and aor destroyed, then response DTO objects returned to the client for visualization

In addition to creating data structure specific assemblies for the libraries wherever DTO classes are needed, the Computer Inventory assembly should be refactored; once to factor out the code that relies on the OpenHardwareMonitorLib, and again to create/use a method to allow for some or all of the equivalent functionality under netstandard.

Add references to Community Health Files (.github repo)

Is your feature request related to a problem? Please describe.
This repository needs to inherit the Community Health Files from the .github peer repository

Describe the solution you'd like
This repository should include (by link) references to the six Community Health Files from the .github peer repository

Fix or replace OpenHardwareMonitorLib, it will not work with netstandard 2.0

OpenHardwareMonitorLib provides the ability to determine the actual inventory of the Windows computer on which it runs, and it provides monitoring of sensors on the computer. But it depends on certain APIS defined in the full DotNet framework, and not defined in Standard 2.0. It currently won't compile, and should be "unloaded" from the solution.

Fix line endings and encodings in all files

the initial implementation of the .editorconfig file had the wrong line ending (Windows crlf, instead of *nix lf). Some of the branches then checked in files with crlf. Also it seems that the editorconfig changed the encoding to utf-8 with a Byte Order mark. Correct encodings and line endings should be UTF-8 with no BOM and LF line endings.

Fix Incorrect NuGet Package Numbering

When building Dev lifecycle projects, the NuGet package number is defaulting to 1.0.0. It should honor the package version set in the .csproj, and update per the information in the $(VersionFile) property defined in Directory.Build.props

Create AiAssist VSC extension Phase 1

Write a VSC extension that can handle many of the chores that AI do well for code development.

Phase 1 should

  • create the extension, and handle activation and deactivation.
  • store and read from the VSC Global State
  • support Tags, Categories, Associations, and Conversation items and collections of these items
  • items should be associated with a Philote type for a GUID ID and 'friends' of the item
  • store and read collections to /from the filesystem as serialized strings
  • support VSC QuickPick for enumeration types.
  • support third-party password managers for storing API authentication tokens
  • support a simple chat interface to OpenAI. The user can type a query into a text editor, submit that to ChatGPT, and the response will be displayed in the text editor. The request/response pairs will be stored in a conversation collection

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.