Modified and extended version of the patch v4 by Roland Reinl (see Issue 256). Main differences to the original patch: DeviceIoControl refactorings removed, SmartAttribute is now descriptive only and does not hold any state, report is written as one 80 columns table, sensors are created only for meaningful values and without duplicates (remaining life, temperatures, host writes and reads). Also the current implementation should really preserve all the functionality of the old system. Additionally there is now a simple SMART devices emulation class (DebugSmart) that can be used in place of WindowsSmart for testing with reported data.
1 <?xml version="1.0" encoding="utf-8"?>
2 <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
5 <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
6 <ProductVersion>9.0.30729</ProductVersion>
7 <SchemaVersion>2.0</SchemaVersion>
8 <ProjectGuid>{B0397530-545A-471D-BB74-027AE456DF1A}</ProjectGuid>
9 <OutputType>Library</OutputType>
10 <AppDesignerFolder>Properties</AppDesignerFolder>
11 <RootNamespace>OpenHardwareMonitor</RootNamespace>
12 <AssemblyName>OpenHardwareMonitorLib</AssemblyName>
13 <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
14 <FileAlignment>512</FileAlignment>
17 <OldToolsVersion>3.5</OldToolsVersion>
18 <UpgradeBackupLocation />
19 <PublishUrl>publish\</PublishUrl>
20 <Install>true</Install>
21 <InstallFrom>Disk</InstallFrom>
22 <UpdateEnabled>false</UpdateEnabled>
23 <UpdateMode>Foreground</UpdateMode>
24 <UpdateInterval>7</UpdateInterval>
25 <UpdateIntervalUnits>Days</UpdateIntervalUnits>
26 <UpdatePeriodically>false</UpdatePeriodically>
27 <UpdateRequired>false</UpdateRequired>
28 <MapFileExtensions>true</MapFileExtensions>
29 <ApplicationRevision>0</ApplicationRevision>
30 <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
31 <IsWebBootstrapper>false</IsWebBootstrapper>
32 <UseApplicationTrust>false</UseApplicationTrust>
33 <BootstrapperEnabled>true</BootstrapperEnabled>
35 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
36 <DebugSymbols>true</DebugSymbols>
37 <DebugType>full</DebugType>
38 <Optimize>false</Optimize>
39 <OutputPath>Bin\Debug\</OutputPath>
40 <DefineConstants>TRACE;DEBUG</DefineConstants>
41 <ErrorReport>prompt</ErrorReport>
42 <WarningLevel>4</WarningLevel>
43 <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
45 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
46 <DebugType>none</DebugType>
47 <Optimize>true</Optimize>
48 <OutputPath>Bin\Release\</OutputPath>
49 <DefineConstants>TRACE</DefineConstants>
50 <ErrorReport>prompt</ErrorReport>
51 <WarningLevel>4</WarningLevel>
52 <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
55 <Reference Include="System" />
56 <Reference Include="System.Management" />
59 <Compile Include="Collections\Pair.cs" />
60 <Compile Include="Collections\RingCollection.cs" />
61 <Compile Include="Hardware\ATI\ADL.cs" />
62 <Compile Include="Hardware\ATI\ATIGPU.cs" />
63 <Compile Include="Hardware\ATI\ATIGroup.cs" />
64 <Compile Include="Hardware\Control.cs" />
65 <Compile Include="Hardware\FirmwareTable.cs" />
66 <Compile Include="Hardware\HDD\DebugSmart.cs" />
67 <Compile Include="Hardware\HDD\DriveAttributeValue.cs" />
68 <Compile Include="Hardware\HDD\DriveThresholdValue.cs" />
69 <Compile Include="Hardware\HDD\HDDGeneric.cs" />
70 <Compile Include="Hardware\HDD\ISmart.cs" />
71 <Compile Include="Hardware\HDD\SmartAttribute.cs" />
72 <Compile Include="Hardware\HDD\SmartAttributeNames.cs" />
73 <Compile Include="Hardware\HDD\RequireSmartAttribute.cs" />
74 <Compile Include="Hardware\HDD\NamePrefixAttribute.cs" />
75 <Compile Include="Hardware\HDD\SSDIndilinx.cs" />
76 <Compile Include="Hardware\HDD\SSDIntel.cs" />
77 <Compile Include="Hardware\HDD\SSDPlextor.cs" />
78 <Compile Include="Hardware\HDD\SSDSandforce.cs" />
79 <Compile Include="Hardware\IControl.cs" />
80 <Compile Include="Hardware\IOControlCode.cs" />
81 <Compile Include="Hardware\Computer.cs" />
82 <Compile Include="Hardware\CPU\AMDCPU.cs" />
83 <Compile Include="Hardware\CPU\GenericCPU.cs" />
84 <Compile Include="Hardware\CPU\AMD0FCPU.cs" />
85 <Compile Include="Hardware\CPU\AMD10CPU.cs" />
86 <Compile Include="Hardware\CPU\CPUGroup.cs" />
87 <Compile Include="Hardware\CPU\CPUID.cs" />
88 <Compile Include="Hardware\CPU\CPULoad.cs" />
89 <Compile Include="Hardware\CPU\IntelCPU.cs" />
90 <Compile Include="Hardware\LPC\NCT677X.cs" />
91 <Compile Include="Hardware\Mainboard\GigabyteTAMG.cs" />
92 <Compile Include="Hardware\Opcode.cs" />
93 <Compile Include="Hardware\Ring0.cs" />
94 <Compile Include="Hardware\KernelDriver.cs" />
95 <Compile Include="Hardware\Hardware.cs" />
96 <Compile Include="Hardware\HDD\AbstractHarddrive.cs" />
97 <Compile Include="Hardware\HDD\HarddriveGroup.cs" />
98 <Compile Include="Hardware\HDD\WindowsSmart.cs" />
99 <Compile Include="Hardware\Heatmaster\Heatmaster.cs" />
100 <Compile Include="Hardware\Heatmaster\HeatmasterGroup.cs" />
101 <Compile Include="Hardware\IComputer.cs" />
102 <Compile Include="Hardware\Identifier.cs" />
103 <Compile Include="Hardware\IElement.cs" />
104 <Compile Include="Hardware\IGroup.cs" />
105 <Compile Include="Hardware\IHardware.cs" />
106 <Compile Include="Hardware\IParameter.cs" />
107 <Compile Include="Hardware\ISensor.cs" />
108 <Compile Include="Hardware\IVisitor.cs" />
109 <Compile Include="Hardware\LPC\Chip.cs" />
110 <Compile Include="Hardware\LPC\F718XX.cs" />
111 <Compile Include="Hardware\LPC\ISuperIO.cs" />
112 <Compile Include="Hardware\LPC\IT87XX.cs" />
113 <Compile Include="Hardware\LPC\LMSensors.cs" />
114 <Compile Include="Hardware\LPC\LPCIO.cs" />
115 <Compile Include="Hardware\LPC\W836XX.cs" />
116 <Compile Include="Hardware\Mainboard\Mainboard.cs" />
117 <Compile Include="Hardware\Mainboard\MainboardGroup.cs" />
118 <Compile Include="Hardware\Mainboard\Manufacturer.cs" />
119 <Compile Include="Hardware\Mainboard\Model.cs" />
120 <Compile Include="Hardware\Mainboard\SMBIOS.cs" />
121 <Compile Include="Hardware\Mainboard\SuperIOHardware.cs" />
122 <Compile Include="Hardware\Nvidia\NVAPI.cs" />
123 <Compile Include="Hardware\Nvidia\NvidiaGPU.cs" />
124 <Compile Include="Hardware\Nvidia\NvidiaGroup.cs" />
125 <Compile Include="Hardware\Parameter.cs" />
126 <Compile Include="Hardware\Sensor.cs" />
127 <Compile Include="Hardware\SensorVisitor.cs" />
128 <Compile Include="Hardware\TBalancer\FTD2XX.cs" />
129 <Compile Include="Hardware\TBalancer\TBalancer.cs" />
130 <Compile Include="Hardware\TBalancer\TBalancerGroup.cs" />
131 <Compile Include="Hardware\ISettings.cs" />
132 <Compile Include="Hardware\HexStringArray.cs" />
133 <Compile Include="Collections\IReadOnlyArray.cs" />
134 <Compile Include="Collections\ListSet.cs" />
135 <Compile Include="Hardware\PInvokeDelegateFactory.cs" />
136 <Compile Include="Collections\ReadOnlyArray.cs" />
137 <Compile Include="Properties\AssemblyLibInfo.cs" />
138 <Compile Include="Properties\AssemblyVersion.cs" />
139 <Compile Include="Hardware\ThreadAffinity.cs" />
142 <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
143 <Visible>False</Visible>
144 <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
145 <Install>false</Install>
146 </BootstrapperPackage>
147 <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
148 <Visible>False</Visible>
149 <ProductName>.NET Framework 3.5 SP1</ProductName>
150 <Install>true</Install>
151 </BootstrapperPackage>
152 <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
153 <Visible>False</Visible>
154 <ProductName>Windows Installer 3.1</ProductName>
155 <Install>true</Install>
156 </BootstrapperPackage>
159 <EmbeddedResource Include="Hardware\WinRing0.sys" />
160 <EmbeddedResource Include="Hardware\WinRing0x64.sys" />
162 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
163 <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
164 Other similar extension points exist, see Microsoft.Common.targets.
165 <Target Name="BeforeBuild">
167 <Target Name="AfterBuild">