Skip to content
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 the project type nfproj to the list of supportedProjectExtensions for Nuget CLI. #10562

Closed
networkfusion opened this issue Feb 10, 2021 · 4 comments · Fixed by NuGet/NuGet.Client#3943
Assignees
Labels
Community PRs (and linked Issues) created by someone not in the NuGet team good first issue Issues identified as good for first-time contributors help wanted Considered good issues for community contributions. Priority:3 Issues under consideration. With enough upvotes, will be reconsidered to be added to the backlog. Type:Feature

Comments

@networkfusion
Copy link

networkfusion commented Feb 10, 2021

Details about Problem

NuGet product used: NuGet.exe

Product version: latest

Worked before? If so, with which NuGet version: none.

Repro steps and/or sample project

Proposal:
Add the project type nfproj to the list of supportedProjectExtensions in NuGet.Client/src/NuGet.Clients/NuGet.CommandLine/Common/ProjectHelper.cs
A PR can be raised if required.

Further explanation:
.NET nanoFramework (https://dotnetfoundation.org/projects/nanoframework) is an OSS platform that enables the writing of managed code applications for constrained embedded devices. It is supported by the .NET foundation.
.NET nanoFramework uses nuget packages extensively, however, due to a lack of support in VS for extensibility to have sub-projects in a given language (C#), we could not use the standard csproj type and have had to differentiate our projects by using a nfproj file extension.
When performing automated dependency updates, currently nuget CLI does not recognise this extension and we have to perform a workaround of scripting the rename of these projects to be the standard csproj in order to run tasks like nuget update, and then reverse the rename for compatibility with VS.
This is far from ideal, and by adding support for the extension in nuget, it would alleviate a number of complex workarounds.

Verbose Logs

@hrumhurum
Copy link

due to a lack of support in VS for extensibility to have sub-projects in a given language (C#)

Many moons ago Visual Studio allowed to extend common project types like C# with sub-types. Please consider to take a look at ProjectTypeGuids MSBuild property. It allows you to instruct the project system to "flavor" a common project type with a custom extension UI/logic. This all applies to VS Extensibility area (VS Extensions etc).

@josesimoes
Copy link

due to a lack of support in VS for extensibility to have sub-projects in a given language (C#)

Many moons ago Visual Studio allowed to extend common project types like C# with sub-types. Please consider to take a look at ProjectTypeGuids MSBuild property. It allows you to instruct the project system to "flavor" a common project type with a custom extension UI/logic. This all applies to VS Extensibility area (VS Extensions etc).

Have tried that (on the scope of the project that @networkfusion mentions) without success.
Ended up having to use a different extension to accomplish this, which took us here.
To this date, and to the best of my knowledge, this is still not possible. See here

@zkat zkat added help wanted Considered good issues for community contributions. good first issue Issues identified as good for first-time contributors Priority:3 Issues under consideration. With enough upvotes, will be reconsidered to be added to the backlog. labels Feb 18, 2021
@zkat
Copy link
Contributor

zkat commented Feb 18, 2021

@networkfusion PRs welcome, then! Thank you :)

@josesimoes
Copy link

@zkat awesome! I'll be tackling this.

Now that we are at it, can we also discuss adding a TFM for .NET nanoFramework?
I've started a discussion about this in the .NET repo. Please see here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Community PRs (and linked Issues) created by someone not in the NuGet team good first issue Issues identified as good for first-time contributors help wanted Considered good issues for community contributions. Priority:3 Issues under consideration. With enough upvotes, will be reconsidered to be added to the backlog. Type:Feature
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants