Skip to content

Commit 5403c52

Browse files
authored
Merge pull request #5010 from brettfo/package-binding-redirects
parameterize vs package binding redirects
2 parents 958bfea + 906e0ab commit 5403c52

File tree

3 files changed

+40
-1
lines changed

3 files changed

+40
-1
lines changed

build/targets/GenerateAssemblyAttributes.targets

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,24 @@
22

33
<Import Project="GitHash.props" />
44

5+
<Target Name="GenerateAssemblyLevelAttributes"
6+
BeforeTargets="CoreCompile">
7+
8+
<PropertyGroup>
9+
<GeneratedFSharpAssemblyLevelAttributesFile>$(IntermediateOutputPath)$(MSBuildProjectName).AssemblyLevelAttributes$(DefaultLanguageSourceExtension)</GeneratedFSharpAssemblyLevelAttributesFile>
10+
</PropertyGroup>
11+
12+
<WriteCodeFragment AssemblyAttributes="@(AssemblyLevelAttribute)"
13+
Language="$(Language)"
14+
OutputFile="$(GeneratedFSharpAssemblyLevelAttributesFile)"
15+
Condition="'@(AssemblyLevelAttribute)' != ''">
16+
<Output TaskParameter="OutputFile" ItemName="Compile" Condition="'$(Language)' != 'F#'" />
17+
<Output TaskParameter="OutputFile" ItemName="CompileBefore" Condition="'$(Language)' == 'F#'" />
18+
<Output TaskParameter="OutputFile" ItemName="FileWrites" />
19+
</WriteCodeFragment>
20+
21+
</Target>
22+
523
<Target Name="GenerateAssemblyFileVersion"
624
BeforeTargets="CoreCompile"
725
Condition="'$(Configuration)' != 'Proto'">

vsintegration/src/FSharp.ProjectSystem.FSharp/Project.fs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ namespace rec Microsoft.VisualStudio.FSharp.ProjectSystem
4545
[<assembly:ProvideCodeBase(AssemblyName = "FSharp.Compiler.Private", CodeBase = @"$PackageFolder$\FSharp.Compiler.Private.dll")>]
4646
[<assembly:ProvideCodeBase(AssemblyName = "FSharp.Compiler.Server.Shared", CodeBase = @"$PackageFolder$\FSharp.Compiler.Server.Shared.dll")>]
4747
[<assembly:ProvideCodeBase(AssemblyName = "FSharp.UIResources", CodeBase = @"$PackageFolder$\FSharp.UIResources.dll")>]
48-
[<assembly:ProvideBindingRedirection(AssemblyName = "FSharp.Core", OldVersionLowerBound = "2.0.0.0", OldVersionUpperBound = "4.4.3.0", NewVersion = "4.4.3.0", CodeBase = @"$PackageFolder$\FSharp.Core.dll")>]
4948
do ()
5049

5150
module internal VSHiveUtilities =

vsintegration/src/FSharp.ProjectSystem.FSharp/ProjectSystem.fsproj

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,28 @@
3939
<Compile Include="Project.fs" />
4040
</ItemGroup>
4141

42+
<ItemGroup>
43+
<AssemblyLevelAttribute Include="Microsoft.VisualStudio.Shell.ProvideBindingRedirectionAttribute">
44+
<AssemblyName>FSharp.Core</AssemblyName>
45+
<OldVersionLowerBound>2.0.0.0</OldVersionLowerBound>
46+
<OldVersionUpperBound>$(FSCoreVersion)</OldVersionUpperBound>
47+
<NewVersion>$(FSCoreVersion)</NewVersion>
48+
<CodeBase>$PackageFolder$\FSharp.Core.dll</CodeBase>
49+
</AssemblyLevelAttribute>
50+
<AssemblyLevelAttribute Include="Microsoft.VisualStudio.Shell.ProvideBindingRedirectionAttribute">
51+
<AssemblyName>FSharp.ProjectSystem.FSharp</AssemblyName>
52+
<OldVersionLowerBound>15.0.0.0</OldVersionLowerBound>
53+
<OldVersionUpperBound>$(VSAssemblyVersion)</OldVersionUpperBound>
54+
<NewVersion>$(VSAssemblyVersion)</NewVersion>
55+
</AssemblyLevelAttribute>
56+
<AssemblyLevelAttribute Include="Microsoft.VisualStudio.Shell.ProvideBindingRedirectionAttribute">
57+
<AssemblyName>FSharp.ProjectSystem.PropertyPages</AssemblyName>
58+
<OldVersionLowerBound>15.0.0.0</OldVersionLowerBound>
59+
<OldVersionUpperBound>$(VSAssemblyVersion)</OldVersionUpperBound>
60+
<NewVersion>$(VSAssemblyVersion)</NewVersion>
61+
</AssemblyLevelAttribute>
62+
</ItemGroup>
63+
4264
<ItemGroup>
4365
<ProjectReference Include="$(FSharpSourcesRoot)\fsharp\FSharp.Core\FSharp.Core.fsproj" />
4466
<ProjectReference Include="$(FSharpSourcesRoot)\fsharp\FSharp.Compiler.Private\FSharp.Compiler.Private.fsproj" />

0 commit comments

Comments
 (0)