Skip to content

Conversation

@dsyme
Copy link
Collaborator

@dsyme dsyme commented Oct 24, 2017

Deploying a .NET Standard 2.0 TPDTC (type provider design time component) requires the facades below to be shipped alongside the TPDTC.

Also, I fixed a bug in the TPSDK

    <!-- These files are the facades necessary to run .NET Standard 2.0 components on .NET Framweork 4.6.1 (.NET Framework 4.7 will -->
    <!-- come with these facades included). Because the type provider is a .NET Standard 2.0 component, the deployment of the type -->
    <!--  provider must include these facade DLLs if it is to run hosted inside an F# compiler executing using  .NET Framework 4.6.1 or Mono 5.0. -->
    <!-- -->
    <!-- We are not yet sure if the presence of these files will prevent an otherwise .NET Standard 2.0 type provider running inside a -->
    <!-- F# compiler executing using .NET CoreApp 2.0, as until recently F# compilers running using .NET CoreApp 2.0 do not load type providers correctly. -->
    <None Include="..\..\packages\build\NETStandard.Library.NETFramework\build\net461\lib\netstandard.dll">
        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    <None Include="..\..\packages\build\NETStandard.Library.NETFramework\build\net461\lib\System.Reflection.dll">
        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    <None Include="..\..\packages\build\NETStandard.Library.NETFramework\build\net461\lib\System.Runtime.dll">
        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>

@dsyme
Copy link
Collaborator Author

dsyme commented Oct 25, 2017

@vasily-kirichenko Can you pull this please? thanks

@vasily-kirichenko vasily-kirichenko merged commit c3e8d0b into vasily-kirichenko:net-standard-2.0 Oct 25, 2017
@vasily-kirichenko
Copy link
Owner

Sorry.

@dsyme
Copy link
Collaborator Author

dsyme commented Oct 25, 2017

@vasily-kirichenko Thanks

I don't plan to do anything more specifically but if we make further updates to the TPSDK and this branch is still active I'll push them in here

@dsyme
Copy link
Collaborator Author

dsyme commented Oct 25, 2017

Also, I think the presence of the facade DLLs make it really hard to deliver a .NET Standard 2.0 type provider design-time component until we do something about dotnet/fsharp#3736. Perhaps it would work out ok if the package puts the facades in a well-known relative location (notunder the lib directory in the package) and added AssemblyResolve events to go and find them if necessary.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants