-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Configuration management #350
Comments
@kzu just mentioned this morning that it'd be nice to have this in an item like |
@rainersigwald Interesting. Seems like those are basically referring to the same thing with |
There's a tradeoff between more consistency with TargetFramework/TargetFrameworks + more terse project files and leveraging existing alternative patterns. |
Yeah, it's the same concept. The capability denotes you can rely on the I'm helping out with a mostly native solution/nuget where the concept of /kzu from mobile |
Where are we leaning on this? Does this thread have all the context? |
I think it does. Basically, follow on VC++ footsteps and provide a coherent |
@davkean This thread has all the context. The proposal is based on the consensus of a design discussion that @srivatsn and I had. I was not previously aware of the VC mechanism that @kzu pointed out. I still feel that is rather verbose vs, the proposal and still lean towards consistency with TargeFramework dimension on the other configuration dimensions. What are your thoughts? |
Yeah had similar thoughts myself - still need to figure out a defaults story, and then figure out what we need to do on the VS side to make this all work. |
With the XML attributes support, the syntax becomes quite a bit less |
SDK side of the changes closed via #949 |
Today, VS still relies on parsing magic$(Configuration)|$ (Platform) conditions. To bootstrap, we have these for Debug|AnyCPU and Release|AnyCPU in our props, but that means that the user cannot remove AnyCPU configurations and needs to manually add other configurations with these magic property groups which are quite out of place in our leaner project files.
We need a simpler way to define the valid set of configurations.
Proposal
$
(Configurations)
- lists the set of valid configurations, default will beDebug;Release
$(Platforms)
- lists the set of valid platforms, default will beAnyCPU
These are analagous to$(TargetFrameworks) vs. $ (TargetFramework) except that any given build will build only one combination, there will be no auto-batching at the msbuild level over all configurations and platforms.
This replaces the validation that we gave up where and invalid Configuration|Platform combination was observed by the lack of an OutputPath. We want the user to say what configurations they want without having to say the OutputPath for each, which we can define for them.
TargetFrameworks and stop parsing the magic conditions. Configuration management project-system#694
The text was updated successfully, but these errors were encountered: