billhertzing / atap.utilities Goto Github PK
View Code? Open in Web Editor NEWCollection of projects for various helper classes
License: MIT License
Collection of projects for various helper classes
License: MIT License
For the ATAP.Utilities.CSharp DLL and the ATAP.Buildtooling.targets file
Create a chocolatey package that will install the powerShell scripts via chocolatey
Details on this tool can be found here:
http://msbuildlog.com/
Not Including the BuildTooling, it has its own issue for NuGet Packaging #
Not Including the AutoDoc, it has its own issue for NuGet Packaging #
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.
Start with just a few enumerations in an .Enumerations project
Early Unit Tests for Logging Project are not written correctly and should be removed
Add a Powershell project to hold modules and scripts for the support of builds, packaging, and deployment
Update the powershell V7 profiles AllUserAllHosts.ps1 and ThisUserAllHosts.ps1. Set Global and environment variables appropriate to the roles assigned to the machine, and where SW has been installed to. Store this information in the global_ConfigRootKeys.ps1 file and global_MachineAndNodeSettings.ps1
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
The Ace project needs specific information regarding drives and partitions.
Add or improve these structure to the ComputerInventory packages
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.
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.
Add the Automatic Versions visual extension
Configure every project to use the Automatic Versions
Configure every project to create a nuget package on build
Create DB tables for all elements of the class and interface lists found in GenerateCode
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
Creat a document that encompases the Utilities, the Blazor GUI, and the AceCommander Servicestack Windows Service. Visualize the planned architecture, and cross reference them to the roadmap #4 .
In order to better use these libraries in the Blazor GUI application, The libraries need to be refactored.
Assemblies that define the shared data structures should only contain the minimum necessary for the GUI.
Methods and fields needed by the server side or the persistence mechanism should be refactored into separate assemblies
Rework the home page Readme.md
Rework BlogPost001 into an overview of the goals of the Repository
Add packaging so that the BuildTooling .DLL and the .targets file can be installed via chocolatey.
Write a VSC extension that can handle many of the chores that AI do well for code development.
Phase 1 should
Add NuGet packaging to the PowerShell project that will install the powershell modules and scripts in such a way that they can be called from Visual Studio, as well as from a Powershell prompt window.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.