Visual Studioに既存する.NET Frameworkプロジェクトの移行NET Core 1.1 Preview 1
1)ダウンロードインストールに含む.NET Core 1.1 Preview 1のSDK:Windows x 64インストールパッケージ(ダウンロードアドレスリスト)
2)最新VS 2015 NuGetプラグインをダウンロードする:https://dist.nuget.org/index.html
3)拡張子ビットを作成する.slnの空白ファイルは、以下の内容をコピーしてこれに貼り付けます.slnファイルにあります.
これにより空白が作成される.NET Coreソリューションファイル.
3)各VSプロジェクトフォルダ(.csprojファイルが存在するフォルダ)に拡張子ビットを作成する.xprojの空のファイルは、次の内容をコピー/貼り付け、RootNamespaceの値を現在のプロジェクトのネーミングスペースに設定します.
4)各プロジェクトフォルダに以下のような基本構成を含むプロジェクトを追加する.jsonファイル:
5)MVCまたはWeb APIプロジェクトの場合
5.1)project.jsonにbuildOptions,runtimeOptionsとpublishOptionsの構成を追加
5.2)Programを追加する.csとStartup.csファイル
Program.cs
Startup.cs
2)最新VS 2015 NuGetプラグインをダウンロードする:https://dist.nuget.org/index.html
3)拡張子ビットを作成する.slnの空白ファイルは、以下の内容をコピーしてこれに貼り付けます.slnファイルにあります.
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{8BC01464-6079-4603-881A-9F8716BA6F7D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8BC01464-6079-4603-881A-9F8716BA6F7D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8BC01464-6079-4603-881A-9F8716BA6F7D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8BC01464-6079-4603-881A-9F8716BA6F7D}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
これにより空白が作成される.NET Coreソリューションファイル.
3)各VSプロジェクトフォルダ(.csprojファイルが存在するフォルダ)に拡張子ビットを作成する.xprojの空のファイルは、次の内容をコピー/貼り付け、RootNamespaceの値を現在のプロジェクトのネーミングスペースに設定します.
xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">14.0VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)VSToolsPath>
PropertyGroup>
<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.Props" Condition="'$(VSToolsPath)' != ''" />
<PropertyGroup Label="Globals">
<ProjectGuid>8bc01464-6079-4603-881a-9f8716ba6f7dProjectGuid>
<RootNamespace>RootNamespace>
<BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)'=='' ">.\objBaseIntermediateOutputPath>
<OutputPath Condition="'$(OutputPath)'=='' ">.\bin\OutputPath>
<TargetFrameworkVersion>v4.6.1TargetFrameworkVersion>
PropertyGroup>
<PropertyGroup>
<SchemaVersion>2.0SchemaVersion>
PropertyGroup>
<ItemGroup>
<DnxInvisibleContent Include="bower.json" />
<DnxInvisibleContent Include=".bowerrc" />
<DnxInvisibleContent Include="ConnectionString.config" />
<DnxInvisibleContent Include="packages.config" />
<DnxInvisibleContent Include="Web.config" />
ItemGroup>
<Import Project="$(VSToolsPath)\DotNet.Web\Microsoft.DotNet.Web.targets" Condition="'$(VSToolsPath)' != ''" />
Project>
4)各プロジェクトフォルダに以下のような基本構成を含むプロジェクトを追加する.jsonファイル:
{
"dependencies": {
"Microsoft.NETCore.App": "1.1.0-preview1-*"
},
"frameworks": {
"netcoreapp1.1": {
"imports": [
"portable-net45+win8+wp8"
]
}
}
}
5)MVCまたはWeb APIプロジェクトの場合
5.1)project.jsonにbuildOptions,runtimeOptionsとpublishOptionsの構成を追加
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true
},
"runtimeOptions": {
"configProperties": {
"System.GC.Server": true
}
},
"publishOptions": {
"include": [
"wwwroot",
"web.config"
]
},
5.2)Programを追加する.csとStartup.csファイル
Program.cs
public class Program
{
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()
.UseUrls("http://*:5000")
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup()
.Build();
host.Run();
}
}
Startup.cs
public class Startup
{
public Startup(IHostingEnvironment env)
{
//..
}
public IConfigurationRoot Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
//..
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
//..
}
}