Skip to content

Commit

Permalink
Merge pull request #78 from yerudako/user/yerudako/fix-build-to-run-o…
Browse files Browse the repository at this point in the history
…n-windows-2022

Update build script and targeting nugets to allow the project to build on the windows-2022 image
  • Loading branch information
cgallred authored Dec 1, 2021
2 parents e0eef67 + 27b17b3 commit b6fbd6b
Show file tree
Hide file tree
Showing 7 changed files with 19 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{4E5F40B3-B56F-4B62-92CB-68E7E0E36AFA}</ProjectGuid>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<CLRSupport>true</CLRSupport>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
Expand Down
12 changes: 6 additions & 6 deletions ProjectedFSLib.Managed.API/ProjectedFSLib.Managed.props
Original file line number Diff line number Diff line change
Expand Up @@ -48,14 +48,14 @@
<CodeAnalysisRuleSet>MixedRecommendedRules.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>true</RunCodeAnalysis>
<TargetName>ProjectedFSLib.Managed</TargetName>
<IncludePath>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362\um;$(IncludePath)</IncludePath>
<IncludePath>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041\um;$(IncludePath)</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<CodeAnalysisRuleSet>MixedRecommendedRules.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>false</RunCodeAnalysis>
<TargetName>ProjectedFSLib.Managed</TargetName>
<IncludePath>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um;$(IncludePath)</IncludePath>
<IncludePath>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um;$(IncludePath)</IncludePath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
Expand All @@ -65,11 +65,11 @@
<WarningLevel>Level4</WarningLevel>
<TreatWarningAsError>true</TreatWarningAsError>
<EnablePREfast>true</EnablePREfast>
<AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um;$(BuildOutputDir)\$(ProjectName);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um;$(BuildOutputDir)\$(ProjectName);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalDependencies>ProjectedFSLib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\um\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<PreBuildEvent>
<Command>$(ProjectDir)\..\Scripts\CreateVersionHeader.bat $(ProjectName) $(ProjFSManagedVersion) $(SolutionDir) &amp;&amp; $(ProjectDir)\..\Scripts\CreateCliAssemblyVersion.bat $(ProjectName) $(ProjFSManagedVersion) $(SolutionDir)</Command>
Expand All @@ -87,11 +87,11 @@
<TreatWarningAsError>true</TreatWarningAsError>
<EnablePREfast>false</EnablePREfast>
<GenerateXMLDocumentationFiles>true</GenerateXMLDocumentationFiles>
<AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um;$(BuildOutputDir)\$(ProjectName);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um;$(BuildOutputDir)\$(ProjectName);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalDependencies>ProjectedFSLib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\um\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<PreBuildEvent>
<Command>$(ProjectDir)\..\Scripts\CreateVersionHeader.bat $(ProjectName) $(ProjFSManagedVersion) $(SolutionDir) &amp;&amp; $(ProjectDir)\..\Scripts\CreateCliAssemblyVersion.bat $(ProjectName) $(ProjFSManagedVersion) $(SolutionDir)</Command>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Import Project="$(SolutionDir)\ProjectedFSLib.Managed.cs.props" />

<PropertyGroup>
<TargetFrameworks>net461;netcoreapp3.1</TargetFrameworks>
<TargetFrameworks>net48;netcoreapp3.1</TargetFrameworks>
<IsPackable>false</IsPackable>
<GenerateProgramFile>false</GenerateProgramFile>
<PlatformTarget>x64</PlatformTarget>
Expand Down
12 changes: 5 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

|Branch|Functional Tests|
|:--:|:--:|
|**main**|[![Build status](https://dev.azure.com/projfs/ci/_apis/build/status/PR%20-%20Build%20and%20Functional%20Test%20-%202019?branchName=main)](https://dev.azure.com/projfs/ci/_build/latest?definitionId=5)|
|**release**|[![Build status](https://dev.azure.com/microsoft/OS/_apis/build/status/ProjFS%20CI%20-%20Build,%20Sign,%20Package)](https://dev.azure.com/microsoft/OS/_build/latest?definitionId=37476)|
|**main**|[![Build status](https://dev.azure.com/projfs/ci/_apis/build/status/PR%20-%20Build%20and%20Functional%20Test%20-%202022?branchName=main)](https://dev.azure.com/projfs/ci/_build/latest?definitionId=7)|


## About ProjFS

Expand Down Expand Up @@ -50,17 +50,15 @@ coverage of the managed wrapper API surface.

## Building the ProjFS Managed API

* Install [Visual Studio 2019 Community Edition](https://www.visualstudio.com/downloads/) version 16.4 or higher.
* Install [Visual Studio 2022 Community Edition](https://www.visualstudio.com/downloads/).
* Include the following workloads:
* **.NET desktop development**
* **.NET Core cross-platform development**
* **Desktop development with C++**
* Include the following individual components:
* **.NET Framework 4.6.1 SDK**
* Ensure the following individual components are installed:
* **C++/CLI support**
* **Windows 10 SDK (10.0.19041.0)**
* Create a folder to clone into, e.g. `C:\Repos\ProjFS-Managed`
* Clone this repo into the `src` subfolder, e.g. `C:\Repos\ProjFS-Managed\src`
* Clone this repo into a subfolder named `src`, e.g. `C:\Repos\ProjFS-Managed\src`
* Run `src\scripts\BuildProjFS-Managed.bat`
* You can also build in Visual Studio by opening `src\ProjectedFSLib.Managed.sln` and building.

Expand Down
4 changes: 2 additions & 2 deletions scripts/BuildProjFS-Managed.bat
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ SET vswherever=2.8.4
SET vswhere=%PROJFS_PACKAGESDIR%\vswhere.%vswherever%\tools\vswhere.exe
set WINSDK_BUILD=19041
echo Checking for VS installation:
echo %vswhere% -all -prerelease -latest -version "[16.4,17.0)" -products * -requires Microsoft.Component.MSBuild Microsoft.VisualStudio.Workload.ManagedDesktop Microsoft.VisualStudio.Workload.NativeDesktop Microsoft.VisualStudio.Workload.NetCoreTools Microsoft.VisualStudio.Component.Windows10SDK.%WINSDK_BUILD% Microsoft.VisualStudio.Component.VC.CLI.Support -property installationPath
for /f "usebackq tokens=*" %%i in (`%vswhere% -all -prerelease -latest -version "[16.4,17.0)" -products * -requires Microsoft.Component.MSBuild Microsoft.VisualStudio.Workload.ManagedDesktop Microsoft.VisualStudio.Workload.NativeDesktop Microsoft.VisualStudio.Workload.NetCoreTools Microsoft.VisualStudio.Component.Windows10SDK.%WINSDK_BUILD% Microsoft.VisualStudio.Component.VC.CLI.Support -property installationPath`) do (
echo %vswhere% -all -prerelease -latest -version "[16.4,18.0)" -products * -requires Microsoft.Component.MSBuild Microsoft.VisualStudio.Workload.ManagedDesktop Microsoft.VisualStudio.Workload.NativeDesktop Microsoft.VisualStudio.Component.Windows10SDK.%WINSDK_BUILD% Microsoft.VisualStudio.Component.VC.CLI.Support -property installationPath
for /f "usebackq tokens=*" %%i in (`%vswhere% -all -prerelease -latest -version "[16.4,18.0)" -products * -requires Microsoft.Component.MSBuild Microsoft.VisualStudio.Workload.ManagedDesktop Microsoft.VisualStudio.Workload.NativeDesktop Microsoft.VisualStudio.Component.Windows10SDK.%WINSDK_BUILD% Microsoft.VisualStudio.Component.VC.CLI.Support -property installationPath`) do (
set VsDir=%%i
)

Expand Down
4 changes: 2 additions & 2 deletions scripts/RunTests.bat
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ CALL %~dp0\InitializeEnvironment.bat || EXIT /b 10
IF "%1"=="" (SET "Configuration=Debug") ELSE (SET "Configuration=%1")

set RESULT_FRAMEWORK=0
set TESTDIR=%PROJFS_OUTPUTDIR%\ProjectedFSLib.Managed.Test\bin\AnyCPU\%Configuration%\net461
set TESTDIR=%PROJFS_OUTPUTDIR%\ProjectedFSLib.Managed.Test\bin\AnyCPU\%Configuration%\net48
pushd %TESTDIR%
%TESTDIR%\ProjectedFSLib.Managed.Test.exe --params ProviderExe=%PROJFS_OUTPUTDIR%\SimpleProviderManaged\bin\AnyCPU\%Configuration%\net461\SimpleProviderManaged.exe || set RESULT_FRAMEWORK=1
%TESTDIR%\ProjectedFSLib.Managed.Test.exe --params ProviderExe=%PROJFS_OUTPUTDIR%\SimpleProviderManaged\bin\AnyCPU\%Configuration%\net48\SimpleProviderManaged.exe || set RESULT_FRAMEWORK=1
popd

set RESULT_CORE=0
Expand Down
4 changes: 2 additions & 2 deletions simpleProviderManaged/SimpleProviderManaged.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<Import Project="$(SolutionDir)\ProjectedFSLib.Managed.cs.props" />

<PropertyGroup>
<TargetFrameworks>net461;netcoreapp3.1</TargetFrameworks>
<TargetFrameworks>net48;netcoreapp3.1</TargetFrameworks>
<OutputType>Exe</OutputType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
Expand All @@ -17,7 +17,7 @@
</ItemGroup>

<ItemGroup>
<ProjectReference Condition="'$(TargetFramework)'=='net461'" Include="..\ProjectedFSLib.Managed.API\NetFramework\ProjectedFSLib.Managed.vcxproj" />
<ProjectReference Condition="'$(TargetFramework)'=='net48'" Include="..\ProjectedFSLib.Managed.API\NetFramework\ProjectedFSLib.Managed.vcxproj" />
<ProjectReference Condition="'$(TargetFramework)'=='netcoreapp3.1'" Include="..\ProjectedFSLib.Managed.API\NetCore\ProjectedFSLib.Managed.NetCore.vcxproj" />
</ItemGroup>

Expand Down

0 comments on commit b6fbd6b

Please sign in to comment.