fsprojects / fsprojects/Paket

Behavior differs from VisualStudio if bulid/xxx.targets and bulid/native/xxx.targets are present

Open
#4,304 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

needs investigation
Dominant language
F#
Stars
2.1k
Forks
528
Avg merge
1d 12m
Merged PRs (30d)
54

Description

Hello,

I use paket for many years now and really like it.

However, now I have problems with a nuget package (openssl-native 3.5.x).
This package contains two targets files that are imported into the .vcxproj by paket:

build/openssl-native.targets and build/native/openssl-native.targets

If I add that package directly in VisualStudio, only build/native/openssl-native.targets is imported.
The problem is that build/openssl-native.targets is for dotnet projects and issues an error when imported in the c++ project.

A quick search revealed, that this behavior is not officially documented, but it makes packages that work with the VisualStudio built in NuGet mechanism incompatible with paket.

I think it would make sense that paket behaves the same as VisualStudio.

Thanks
Bernhard

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing how Paket handles build/openssl-native.targets and build/native/openssl-native.targets when importing NuGet package targets into a .vcxproj. Compare that selection with Visual Studio's behavior using openssl-native 3.5.x; done means the native targets file is selected for C++ projects without breaking applicable imports for other project types.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
build-system
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
62/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.