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

[.NET 5] Start adding some project capabilities #4383

Merged
merged 2 commits into from
Mar 12, 2020

Conversation

garuma
Copy link
Contributor

@garuma garuma commented Mar 11, 2020

Visual Studio uses CPS to load SDK-style projects. In CPS, most things are keyed-off so-called capabilities[0] which replace other methods that were used previously like project type GUIDs.

While capabilities can be defined in the IDE, they make most sense to be directly expressed in the targets themselves where CPS will pick them up automatically.

[0] https://github.com/microsoft/VSProjectSystem/blob/master/doc/overview/about_project_capabilities.md

Visual Studio uses CPS to load SDK-style projects. In CPS, most things are keyed-off so-called capabilities[0] which replace other methods that were used previously like project type GUIDs.

While capabilities can be defined in the IDE, they make most sense to be directly expressed in the targets themselves where CPS will pick them up automatically.

[0]  https://github.com/microsoft/VSProjectSystem/blob/master/doc/overview/about_project_capabilities.md
@garuma garuma requested review from kzu, tondat and pjcollins March 11, 2020 15:25
@garuma garuma requested a review from jonpryor as a code owner March 11, 2020 15:25
After discussing with @kzu, simply using `Android` could be confusing with native C++ Android project that export the same capability. By combining `Managed + Mobile + Android` we can make a clear distinction that we are dealing with a Xamarin.Android project
@garuma garuma merged commit d125371 into net5-preview Mar 12, 2020
@garuma garuma deleted the net5-preview-projcapabilities branch March 12, 2020 19:41
rolfbjarne pushed a commit to rolfbjarne/xamarin-macios that referenced this pull request Mar 13, 2020
Aligned with XA too, see dotnet/android#4383.

We'll start using Apple instead of iOS for these things at the IDE level since many 
behaviors don't actually depend on iOS but also apply to tvOS, watchOS, and so on.

These capabilities go before other imports just in case additional packages/targets 
from the SDK need to access them too.
rolfbjarne pushed a commit to rolfbjarne/xamarin-macios that referenced this pull request Mar 13, 2020
Aligned with XA too, see dotnet/android#4383.

We'll start using Apple instead of iOS for these things at the IDE level since many 
behaviors don't actually depend on iOS but also apply to tvOS, watchOS, and so on.

These capabilities go before other imports just in case additional packages/targets 
from the SDK need to access them too.
rolfbjarne pushed a commit to rolfbjarne/xamarin-macios that referenced this pull request Mar 16, 2020
Aligned with XA too, see dotnet/android#4383.

We'll start using Apple instead of iOS for these things at the IDE level since many 
behaviors don't actually depend on iOS but also apply to tvOS, watchOS, and so on.

These capabilities go before other imports just in case additional packages/targets 
from the SDK need to access them too.
rolfbjarne pushed a commit to rolfbjarne/xamarin-macios that referenced this pull request Mar 16, 2020
Aligned with XA too, see dotnet/android#4383.

We'll start using Apple instead of iOS for these things at the IDE level since many 
behaviors don't actually depend on iOS but also apply to tvOS, watchOS, and so on.

These capabilities go before other imports just in case additional packages/targets 
from the SDK need to access them too.
rolfbjarne pushed a commit to rolfbjarne/xamarin-macios that referenced this pull request Mar 18, 2020
Aligned with XA too, see dotnet/android#4383.

We'll start using Apple instead of iOS for these things at the IDE level since many 
behaviors don't actually depend on iOS but also apply to tvOS, watchOS, and so on.

These capabilities go before other imports just in case additional packages/targets 
from the SDK need to access them too.
rolfbjarne pushed a commit to rolfbjarne/xamarin-macios that referenced this pull request Mar 19, 2020
Aligned with XA too, see dotnet/android#4383.

We'll start using Apple instead of iOS for these things at the IDE level since many 
behaviors don't actually depend on iOS but also apply to tvOS, watchOS, and so on.

These capabilities go before other imports just in case additional packages/targets 
from the SDK need to access them too.
rolfbjarne pushed a commit to rolfbjarne/xamarin-macios that referenced this pull request Mar 25, 2020
Aligned with XA too, see dotnet/android#4383.

We'll start using Apple instead of iOS for these things at the IDE level since many 
behaviors don't actually depend on iOS but also apply to tvOS, watchOS, and so on.

These capabilities go before other imports just in case additional packages/targets 
from the SDK need to access them too.
rolfbjarne pushed a commit to xamarin/xamarin-macios that referenced this pull request Mar 27, 2020
Aligned with XA too, see dotnet/android#4383.

We'll start using Apple instead of iOS for these things at the IDE level since many
behaviors don't actually depend on iOS but also apply to tvOS, watchOS, and so on.

These capabilities go before other imports just in case additional packages/targets
from the SDK need to access them too.
pjcollins added a commit that referenced this pull request Mar 31, 2020
Context: #4383

Visual Studio uses CPS to load SDK-style projects. In CPS, most things
are keyed-off so-called capabilities[0] which replace other methods that
were used previously like project type GUIDs.

While capabilities can be defined in the IDE, they make most sense to be
directly expressed in the targets themselves where CPS will pick them up
automatically.

After discussing with @kzu, simply using `Android` could be confusing
with native C++ Android project that export the same capability. By
combining `Managed + Mobile + Android` we can make a clear distinction
that we are dealing with a Xamarin.Android project.

[0]  https://github.com/microsoft/VSProjectSystem/blob/master/doc/overview/about_project_capabilities.md
pjcollins added a commit that referenced this pull request Mar 31, 2020
Context: #4383

Visual Studio uses CPS to load SDK-style projects. In CPS, most things
are keyed-off so-called capabilities[0] which replace other methods that
were used previously like project type GUIDs.

While capabilities can be defined in the IDE, they make most sense to be
directly expressed in the targets themselves where CPS will pick them up
automatically.

After discussing with @kzu, simply using `Android` could be confusing
with native C++ Android project that export the same capability. By
combining `Managed + Mobile + Android` we can make a clear distinction
that we are dealing with a Xamarin.Android project.

[0]  https://github.com/microsoft/VSProjectSystem/blob/master/doc/overview/about_project_capabilities.md
pjcollins added a commit that referenced this pull request Apr 1, 2020
Context: #4383

Visual Studio uses CPS to load SDK-style projects. In CPS, most things
are keyed-off so-called capabilities[0] which replace other methods that
were used previously like project type GUIDs.

While capabilities can be defined in the IDE, they make most sense to be
directly expressed in the targets themselves where CPS will pick them up
automatically.

After discussing with @kzu, simply using `Android` could be confusing
with native C++ Android project that export the same capability. By
combining `Managed + Mobile + Android` we can make a clear distinction
that we are dealing with a Xamarin.Android project.

[0]  https://github.com/microsoft/VSProjectSystem/blob/master/doc/overview/about_project_capabilities.md
rolfbjarne pushed a commit to rolfbjarne/xamarin-macios that referenced this pull request Jul 6, 2020
Aligned with XA too, see dotnet/android#4383.

We'll start using Apple instead of iOS for these things at the IDE level since many
behaviors don't actually depend on iOS but also apply to tvOS, watchOS, and so on.

These capabilities go before other imports just in case additional packages/targets
from the SDK need to access them too.
rolfbjarne added a commit to xamarin/xamarin-macios that referenced this pull request Jul 6, 2020
* [.NET 5] Start adding some project capabilities (#3)

Aligned with XA too, see dotnet/android#4383.

We'll start using Apple instead of iOS for these things at the IDE level since many
behaviors don't actually depend on iOS but also apply to tvOS, watchOS, and so on.

These capabilities go before other imports just in case additional packages/targets
from the SDK need to access them too.

* Remove the LaunchProfiles capability for the CPS integration (#8472)

Implements https://work.azdo.io/1112733 as a workaround for the conflicts between
the built-in launchsettings.json-based .NET Core debugger and our Mono debugger.

Co-authored-by: Daniel Cazzulino <daniel@cazzulino.com>
@github-actions github-actions bot locked and limited conversation to collaborators Jan 24, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants