-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for extern alias
#513
Comments
I've rubbed up against this problem as well, in particular with clashing Newtonsoft versions. Would love to see a solution. |
Once again I've run into a wall while working on VFT because we don't have this :( |
We (the Hedgehog maintainers) are running into this as a potential problem as well. We'd like to reference the last released version of our library to test the next version, but we'd then have two |
@adam-becker what about a separate test project with shared files? |
@cartermp How would we pin the files to the latest official release? To clarify, this is the solution we'd like to see: <!-- Hedgehog.Tests.fsproj -->
<PackageReference Include="Hedgehog" Version="0.10.0" Alias="Latest" />
<!-- Aliasing either reference would be a solution for us -->
<!-- The project referenced here is vNext (0.11.0 in this case) -->
<ProjectReference Include="..\..\src\Hedgehog\Hedgehog.fsproj" Alias="Current" /> Then in our tests: open Latest.Hedgehog
testProperty "Can test new code using the previous release" (fun () -> property { // `property` from the `Latest.Hedgehog` package ref
let gen = Current.Hedgehog.Gen.int32 // ...
// prove something about the current `Gen` type.
}) We've discussed a few workaround solutions in the referenced issue, but at the end of the day these are all workarounds. |
I don't think you can. But honestly, if you're looking to validate that both the current release and source all pass, you should just use a separate test project. Although I'm really not sure what you're trying to accomplish and why this is the solution. Wouldn't this entire strategy fail if you decide to incur a breaking change? |
Afaik, the The documentation on Since we also have the concept of PS: if you look at our documentation on Here's a screenshot from an F# project. Note that F# does nothing with this alias: So, if anything, this should be mentioned in our docs. I.e., that it is not entirely equivalent to the same-named C# option. |
This may actually benefit the F# compiler itself as well, as (at least theoretically) it would allow a single build to be able to access multiple versions of (whether this is useful at all, I don't know....) |
extern alias C# reference
This became an issue for me while working on implementing editor tooling to support the old fsproj format and the new netcore fsproj format. MSBuild15 does not properly parse the old files and MSBuild14 doesn't properly parse the new files. Without support for both the tooling will either lock out legacy projects or it'll be unable to process netcore projects.
Pros
extern alias
will no longer be necessaryCons
Extra informtion
Estimated cost M
Affadavit (must be submitted)
Please tick this by placing a cross in the box:
Please tick all that apply:
The text was updated successfully, but these errors were encountered: