Skip to content

Proposal: remove long-deprecated ability to pass .resx on fsc.exe command line #889

@dsyme

Description

@dsyme

fsc.exe in F# 1.0 had a capability to accept a .resx file on the command line. This was deprecated with a warning from F# 2.0 onwards and I've never seen it used in practice. Visual F# Tools don't pass this across. The tools do of course accept resource specifications:

                - RESOURCES -
--win32res:<file>              Specify a Win32 resource file (.res)
--win32manifest:<file>         Specify a Win32 manifest file
--nowin32manifest              Do not include the default Win32 manifest
--resource:<resinfo>           Embed the specified managed resource
--linkresource:<resinfo>       Link the specified resource to this assembly
                               where the resinfo format is <file>[,<string
                               name>[,public|private]]

I propose we remove the functionality to pass a .resx anf make the deprecation warning into an error. Among other things, it makes FSharp.Compiler.dll depend on System.Windows.Forms.dll.

    if List.exists (Filename.checkSuffix lower) [".resx"]  then
        warning(Error(FSComp.SR.fscResxSourceFileDeprecated name,rangeStartup))
        tcConfigB.AddEmbeddedResource name

I'd imagine this functionality would be dropped in any case if /when we switch to fsc.exe being executable on both .NET Core and .NET Framework.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions