-
Notifications
You must be signed in to change notification settings - Fork 6k
Update .NET Core porting document to VS2017 #1768
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
Conversation
@guardrex can you help review this one? |
@@ -4,7 +4,7 @@ description: Organizing Your Project to Support .NET Framework and .NET Core | |||
keywords: .NET, .NET Core |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Put the title into sentence case:
Organizing your project to support .NET Framework and .NET Core
Use a real description line, such as:
Help for project owners who want to compile their solution against .NET Framework and .NET Core side-by-side.
... ☝️ lifted from the doc. It doesn't need to be that, of course. That's just a suggestion.
Add keywords (not necessarily these ... just suggestions):
, .NET Framework, project layout, multiple frameworks
@@ -13,38 +13,24 @@ ms.assetid: 3af62252-1dfa-4336-8d2f-5cfdb57d7724 | |||
|
|||
# Organizing Your Project to Support .NET Framework and .NET Core |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Match casing of title
@@ -13,38 +13,24 @@ ms.assetid: 3af62252-1dfa-4336-8d2f-5cfdb57d7724 | |||
|
|||
# Organizing Your Project to Support .NET Framework and .NET Core | |||
|
|||
> [!WARNING] | |||
> This topic hasn't been updated to the latest version of the tooling yet. | |||
|
|||
This article is to help project owners who want to compile their solution against .NET Framework and .NET Core side-by-side. It provides several options to organize projects to help developers achieve this goal. Here are some typical scenarios to consider when you are deciding how to setup your project layout with .NET Core. They may not cover everything you want; prioritize based on your project's needs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This article helps project owners ...
They use the word "topic" quite a bit around here, but "article" isn't forbidden by the style manual.
Remove one space after the period ...
... this goal. Here are ...
I wonder about "Here" here. 😀 Would it be better as ...
The following list provides some typical scenarios ...
Use contraction ...
... when you're deciding ...
Remove a space after the period ...
... .NET Core. They may ...
"The list" over "They" ? ...
The list may not cover ...
* [**Combine existing projects and .NET Core projects into single projects**][option-xproj] | ||
* [**Combine existing projects and .NET Core projects into single projects**][option-csproj] | ||
|
||
*What this is good for:* | ||
* Simplifying your build process by compiling a single project rather than compiling multiple projects, each targeting a different .NET Framework version or platform. | ||
* Simplifying source file management for multi-targeted projects because you have to manage a single project file. When adding/removing source files, the alternatives require you to manually sync these with your other projects. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm a fan of "must" over the state "have to" ...
... because you must manage a single project ...
Remove one space after the period ...
... project file. When ...
* Continuing to support development on existing projects without having to upgrade for developers/contributors who may not have Visual Studio 2015. | ||
* Decreasing the possibility in creating new bugs in existing projects because no code churn is required in those projects. | ||
*Unsupported scenarios:* | ||
* Does not allow developers without Visual Studio 2017 to open existing projects. To support older versions of Visual Studio, [keeping your project files in different folders](#support-vs) is a better option. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use contraction ...
Doesn't allow developers ...
"Doesn't" ... "without" ... double-negative-ish. How about? ...
Requires developers to use Visual Studio 2017 to open existing projects.
<PropertyGroup> | ||
<TargetFrameworks>net45;net451;netstandard1.6</TargetFrameworks> | ||
<AssemblyName>Car</AssemblyName> | ||
<PackageId>Car</PackageId> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest dropping the AssemblyName
and PackageId
.
<Project Sdk="Microsoft.NET.Sdk"> | ||
|
||
<PropertyGroup> | ||
<TargetFrameworks>net45;net451;netstandard1.6</TargetFrameworks> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems unusual to target net45
and net451
. They're supported TFM's, but they're unsupported frameworks. Can it be net452;netstandard1.6
? Also, I've noted that the dev repos have all gone net46
. I'm not sure what the standard is for samples tho.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wanted to show that the existing solution, which targeted net45 could still be built. I can do net45;net46;netstandard1.6?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about net452 (still supported), net46, netstandard1.6? ... net45 falls out of the security update window.
|
||
<ItemGroup> | ||
<Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" /> | ||
</ItemGroup> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove this ItemGroup
... it's an artifact. microsoft/vstest#472
<Reference Include="System.Collections.Concurrent" /> | ||
<Reference Include="System" /> | ||
<Reference Include="Microsoft.CSharp" /> | ||
</ItemGroup> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For something like this, it might be more convenient to set it up with a negative conditional expression ...
<ItemGroup Condition=" '$(TargetFramework)' != 'netstandard1.6' ">
<Reference Include="System.Collections.Concurrent" />
<Reference Include="System" />
<Reference Include="Microsoft.CSharp" />
</ItemGroup>
... if the net45
and net451
remain. Then, you only need this one ItemGroup
.
|
||
<ItemGroup> | ||
<Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" /> | ||
</ItemGroup> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All of the comments above also apply to this file.
Hi @conniey Let me know if any of my remarks don't make sense ... I speak "dinosaur" sometimes. 😀 |
I love your thoroughness. 👍 I'll start looking through these. :) |
In project.csproj.png, shouldn't |
Also along those lines regarding the folder icons, are they from one of the official sets? I show this one from the CnE_GeneralSymbols and CnE_Enterprise sets ... |
@guardrex hey, I fixed all the issues you mentioned for the PR. Does this look alright now? |
@conniey Excellent. I'm headed off to 💤 get some sleep 🛌 ... I'm a few time zones behind you ... but I'll give it a look first thing in the morning. |
author: conniey | ||
ms.author: mairaw | ||
ms.date: 07/18/2016 | ||
ms.date: 03/21/2017 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Update to today's date 04/06/2017.
@conniey Awesome ... just update the |
@guardrex Updated! 👍 |
Update .NET Core porting document to VS2017
Summary
Fixes #1680
Details
Suggested Reviewers
@mairaw