Got the VssApi projects to build

pull/363/head
David Hall 2022-12-16 23:40:39 -07:00
parent 63a332ae28
commit a620e499fc
13 changed files with 2422 additions and 3571 deletions

View File

@ -2,7 +2,9 @@
<PropertyGroup>
<Version>3.4.12</Version>
<TargetFrameworks>net45;net48;net6.0;netstandard2.0;netcoreapp3.1</TargetFrameworks>
<Configurations>Debug;Release</Configurations>
<Platforms>AnyCPU;x64;x86</Platforms>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)Vanara.snk</AssemblyOriginatorKeyFile>
<Authors>David Hall</Authors>
<Company>GitHub Community</Company>

View File

@ -6,15 +6,11 @@ using namespace System::Runtime::CompilerServices;
using namespace System::Runtime::InteropServices;
using namespace System::Security::Permissions;
[assembly:AssemblyTitleAttribute(L"VssApi")];
[assembly:AssemblyDescriptionAttribute(L"")];
[assembly:AssemblyConfigurationAttribute(L"")];
[assembly:AssemblyCompanyAttribute(L"")];
[assembly:AssemblyProductAttribute(L"VssApi")];
[assembly:AssemblyCopyrightAttribute(L"Copyright (c) 2021")];
[assembly:AssemblyTrademarkAttribute(L"")];
[assembly:AssemblyCultureAttribute(L"")];
[assembly:AssemblyVersionAttribute("1.0.*")];
[assembly:AssemblyTitleAttribute(L"Vanara.PInvoke.VssApi")];
[assembly:AssemblyDescriptionAttribute(L"PInvoke API (methods, structures and constants) imported from Windows Volume Shadow Copy Service (VssApi.dll).")];
[assembly:AssemblyProductAttribute(L"Vanara")];
[assembly:AssemblyCopyrightAttribute(L"Copyright © 2017-2022")];
[assembly:AssemblyKeyFileAttribute(L"..\\..\\Vanara.snk")]
[assembly:AssemblyVersionAttribute("3.4.12")];
[assembly:ComVisible(false)];

Binary file not shown.

View File

@ -401,9 +401,9 @@ namespace Vanara {
return f##prop; } }
DEFINE_EWM_ROLIST(AlternateLocationMappings, IVssWMFiledesc, GetAlternateLocationMapping, CVssWMFiledesc, RefreshRestoreMethod, restoreMethod.iMappings)
DEFINE_EWM_ROLIST(Components, IVssWMComponent, GetComponent, CVssWMComponent, RefreshFileCounts, cComponents)
DEFINE_EWM_ROLIST(ExcludeFiles, IVssWMFiledesc, GetExcludeFile, CVssWMFiledesc, RefreshFileCounts, cExcludeFiles)
// DEFINE_EWM_ROLIST(IncludeFiles, IVssWMFiledesc, GetIncludeFile, CVssWMFiledesc, RefreshFileCounts, cIncludeFiles);
DEFINE_EWM_ROLIST(Components, IVssWMComponent, GetComponent, CVssWMComponent, RefreshFileCounts, cComponents)
DEFINE_EWM_ROLIST(ExcludeFiles, IVssWMFiledesc, GetExcludeFile, CVssWMFiledesc, RefreshFileCounts, cExcludeFiles)
// DEFINE_EWM_ROLIST(IncludeFiles, IVssWMFiledesc, GetIncludeFile, CVssWMFiledesc, RefreshFileCounts, cIncludeFiles);
private:

View File

@ -1,5 +1,4 @@
#include "pch.h"
#include <windef.h>
#include "vswriter.h"
#include "CliLists.h"
@ -27,7 +26,7 @@ VssDifferencedFile CVssComponent::GetDifferencedFilesItem(int i)
{
SafeBSTR path, filespec, lsn;
::BOOL recur;
FILETIME ft;
::FILETIME ft;
Utils::ThrowIfFailed(pNative->GetDifferencedFile(i, &path, &filespec, &recur, &lsn, &ft));
VssDifferencedFile e;
e.Path = path;
@ -41,7 +40,7 @@ VssDifferencedFile CVssComponent::GetDifferencedFilesItem(int i)
void CVssComponent::AddDifferencedFile(VssDifferencedFile item)
{
auto llft = item.LastModifyTime.ToFileTime();
FILETIME ft = *(FILETIME*)&llft;
::FILETIME ft = *(::FILETIME*)&llft;
Utils::ThrowIfFailed(pNative->AddDifferencedFilesByLastModifyTime(SafeWString(item.Path), SafeWString(item.FileSpec), item.Recursive, ft));
}

View File

@ -2,3 +2,4 @@
#include "VssApi.h"
#pragma comment(lib, "vssapi.lib")

View File

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<package >
<metadata>
<id>Vanara.PInvoke.VssApi</id>
<title>Vanara.PInvoke.VssApi</title>
<version>3.4.12</version>
<description>PInvoke API (methods, structures and constants) imported from Windows Volume Shadow Copy Service (VssApi.dll).</description>
<tags>pinvoke,vanara,net-extensions,interop,VSS,VssApi,volume shadow copy service</tags>
<copyright>Copyright © 2017-2022</copyright>
<authors>David Hall</authors>
<owners>David Hall</owners>
<license type="expression">MIT</license>
<projectUrl>https://github.com/dahall/vanara</projectUrl>
<icon>Vanara48x48.png</icon>
<readme>pkgreadme.md</readme>
<repository type="git" url="https://github.com/dahall/Vanara.git" />
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<language>en-US</language>
<dependencies>
<group targetFramework="net6.0">
<dependency id="Vanara.Core" version="3.4.12" exclude="Build,Analyzers" />
<dependency id="Vanara.PInvoke.Shared" version="3.4.12" exclude="Build,Analyzers" />
</group>
</dependencies>
</metadata>
<files>
<file src="bin\Release\net6.0\Vanara.PInvoke.VssApi.dll" target="lib\net6.0" />
<file src="bin\Release\net6.0\Vanara.PInvoke.VssApi.xml" target="lib\net6.0" />
<file src="bin\Release\net6.0\Vanara.PInvoke.VssApi.pdb" target="lib\net6.0" />
<file src="bin\Release\net6.0\Vanara.PInvoke.VssApiMgd.dll" target="lib\net6.0" />
<file src="..\VssApiMgd\bin\Release\net6.0\Vanara.PInvoke.VssApiMgd.xml" target="lib\net6.0" />
<file src="..\VssApiMgd\bin\Release\net6.0\Vanara.PInvoke.VssApiMgd.pdb" target="lib\net6.0" />
<file src="..\..\docs\icons\Vanara48x48.png" target="" />
<file src="..\VssApiMgd\pkgreadme.md" target="" />
</files>
</package>

View File

@ -19,13 +19,19 @@
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<VCProjectVersion>17.0</VCProjectVersion>
<EnableManagedPackageReferenceSupport>true</EnableManagedPackageReferenceSupport>
<ProjectGuid>{11EF8FFF-25DE-4ADB-A951-FA10A421FFE4}</ProjectGuid>
<Keyword>NetCoreCProj</Keyword>
<RootNamespace>VssApi</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
<TargetFramework>net5.0</TargetFramework>
<ProjectName>Vanara.PInvoke.VssApi</ProjectName>
<TargetFramework>net6.0</TargetFramework>
<Description>PInvoke API (methods, structures and constants) imported from Windows Volume Shadow Copy Service (VssApi.dll).</Description>
<AssemblyTitle>$(AssemblyName)</AssemblyTitle>
<AssemblyName>Vanara.PInvoke.VssApi</AssemblyName>
<PackageId>$(AssemblyName)</PackageId>
<PackageTags>pinvoke;vanara;net-extensions;interop;VSS;VssApi;volume shadow copy service</PackageTags>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
@ -41,6 +47,7 @@
<PlatformToolset>v143</PlatformToolset>
<CLRSupport>NetCore</CLRSupport>
<CharacterSet>Unicode</CharacterSet>
<!--<GeneratePackageOnBuild>true</GeneratePackageOnBuild>-->
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
@ -55,6 +62,7 @@
<PlatformToolset>v143</PlatformToolset>
<CLRSupport>NetCore</CLRSupport>
<CharacterSet>Unicode</CharacterSet>
<!--<GeneratePackageOnBuild>true</GeneratePackageOnBuild>-->
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@ -74,9 +82,9 @@
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<PropertyGroup>
<TargetName>$(ProjectName)</TargetName>
<OutDir>$(MSBuildProjectDirectory)\bin\$(Configuration)\$(TargetFramework)\</OutDir>
<OutDir>bin\$(Configuration)\$(TargetFramework)\</OutDir>
<IntDir>obj\$(Configuration)\$(TargetFramework)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
@ -85,12 +93,11 @@
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>WIN32;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalUsingDirectories>$(SolutionDir)PInvoke\VssApiMgd\bin\$(ConfigurationName)\$(TargetFramework);%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
<AdditionalUsingDirectories>$(MSBuildThisFileDirectory)..\VssApiMgd\bin\$(Configuration)\$(TargetFramework)</AdditionalUsingDirectories>
<GenerateXMLDocumentationFiles>true</GenerateXMLDocumentationFiles>
</ClCompile>
<Link>
<AdditionalDependencies>vssapi.lib</AdditionalDependencies>
<AddModuleNamesToAssembly>
</AddModuleNamesToAssembly>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@ -99,9 +106,11 @@
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalUsingDirectories>$(MSBuildThisFileDirectory)..\VssApiMgd\bin\$(Configuration)\$(TargetFramework)</AdditionalUsingDirectories>
<GenerateXMLDocumentationFiles>true</GenerateXMLDocumentationFiles>
</ClCompile>
<Link>
<AdditionalDependencies />
<AdditionalDependencies>vssapi.lib</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@ -110,10 +119,18 @@
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalUsingDirectories>$(MSBuildThisFileDirectory)..\VssApiMgd\bin\$(Configuration)\$(TargetFramework)</AdditionalUsingDirectories>
<GenerateXMLDocumentationFiles>true</GenerateXMLDocumentationFiles>
</ClCompile>
<Link>
<AdditionalDependencies />
<AdditionalDependencies>vssapi.lib</AdditionalDependencies>
</Link>
<CustomBuildStep>
<Command>C:\Temp\Nuget.exe pack $(MSBuildThisFileDirectory)VssApi.nuspec -Symbols -SymbolPackageFormat snupkg -OutputDirectory bin\$(Configuration)</Command>
<Outputs>bin\$(Configuration)\$(AssemblyName).$(Version).nupkg</Outputs>
<Inputs>$(MSBuildThisFileDirectory)VssApi.nuspec</Inputs>
<TreatOutputAsContent>false</TreatOutputAsContent>
</CustomBuildStep>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
@ -121,10 +138,18 @@
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalUsingDirectories>$(MSBuildThisFileDirectory)..\VssApiMgd\bin\$(Configuration)\$(TargetFramework)</AdditionalUsingDirectories>
<GenerateXMLDocumentationFiles>true</GenerateXMLDocumentationFiles>
</ClCompile>
<Link>
<AdditionalDependencies />
<AdditionalDependencies>vssapi.lib</AdditionalDependencies>
</Link>
<CustomBuildStep>
<Command>C:\Temp\Nuget.exe pack $(MSBuildThisFileDirectory)VssApi.nuspec -Symbols -SymbolPackageFormat snupkg -OutputDirectory bin\$(Configuration)</Command>
<Outputs>bin\$(Configuration)\$(AssemblyName).$(Version).nupkg</Outputs>
<Inputs>$(MSBuildThisFileDirectory)VssApi.nuspec</Inputs>
<TreatOutputAsContent>false</TreatOutputAsContent>
</CustomBuildStep>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="BaseWrapper.h" />
@ -152,6 +177,25 @@
<ClCompile Include="VssFactory.cpp" />
<ClCompile Include="VsWriter.cpp" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\VssApiMgd\Vanara.PInvoke.VssApiMgd.csproj">
<Project>{39aedd51-c627-41b9-96d3-44f481ed4e7c}</Project>
<!--<CopyLocalSatelliteAssemblies>true</CopyLocalSatelliteAssemblies>
<LinkLibraryDependencies>false</LinkLibraryDependencies>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>-->
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="VssApi.nuspec" />
</ItemGroup>
<!--<ItemGroup>
<PackageReference Include="NuGet.Build.Tasks.Pack" Version="5.2.0">
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>-->
<!--<ItemGroup>
<None Include="..\VssApiMgd\bin\Debug\net6.0\Vanara.PInvoke.VssApiMgd.dll" />
</ItemGroup>-->
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>

View File

@ -73,5 +73,6 @@
<None Include="$(MSBuildThisFileDirectory)docs\icons\Vanara64x64.png">
<Filter>Resource Files</Filter>
</None>
<None Include="VssApi.nuspec" />
</ItemGroup>
</Project>

View File

@ -9,9 +9,7 @@
<AssemblyName>Vanara.PInvoke.VssApiMgd</AssemblyName>
<PackageId>$(AssemblyName)</PackageId>
<PackageTags>pinvoke;vanara;net-extensions;interop;VSS;VssApi;volume shadow copy service</PackageTags>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<!--<PlatformTarget>x86</PlatformTarget>-->
<PackageReleaseNotes>Currently implements:
Functions

View File

@ -2,6 +2,8 @@
<PropertyGroup>
<TargetFrameworks/>
<TargetFramework>net48</TargetFramework>
<Configurations>Debug;Release;DebugNoTests</Configurations>
<Platforms>AnyCPU;x64;x86</Platforms>
<LangVersion>latest</LangVersion>
<Product>Vanara</Product>
</PropertyGroup>

View File

@ -1,5 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<AssemblyName>UnitTest.PInvoke.VssApi</AssemblyName>
</PropertyGroup>
<ItemGroup>

5857
Vanara.sln

File diff suppressed because it is too large Load Diff