I am using Visual Studio 14 (VS 2015) Update 3, and I want to create a REST API based on .Net Core 1, using Kestrel as a server.
I want to use .csproj instead of the old .xproj to use MSBuild, as in other projects. For this, I used the textbook that they have .
The problem is that when I define "OutputPath" as "bin \ Debug" (for example, for Debug mode), Visual Studio creates the project and sets the build results to "bin \ Debug \\ bin \ Debug \ netcoreapp1". 0 \ win7-x64 ".
If I use .xproj and build, the results are stored in "bin \ Debug \ netcoreapp1.0", which is the expected behavior.
What's happening?
.csproj:
<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> <BaseNuGetRuntimeIdentifier>win7</BaseNuGetRuntimeIdentifier> <TargetFrameworkIdentifier>.NETCoreApp</TargetFrameworkIdentifier> <TargetFrameworkVersion>v1.0</TargetFrameworkVersion> <NoStdLib>true</NoStdLib> <NoWarn>$(NoWarn);1701</NoWarn> <ProjectGuid>{D21ABA46-65F9-4B47-882C-F9C0765052DD}</ProjectGuid> <OutputType>Exe</OutputType> <AppDesignerFolder>Properties</AppDesignerFolder> <RootNamespace>MyAPP</RootNamespace> <AssemblyName>MyAPP</AssemblyName> <FileAlignment>512</FileAlignment> <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PlatformTarget>x64</PlatformTarget> <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> <IntermediateOutputPath>.\obj\Debug</IntermediateOutputPath> <OutputPath>.\bin\Debug\</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <PlatformTarget>x64</PlatformTarget> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> <OutputPath>.\bin\Release</OutputPath> <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> </PropertyGroup> <ItemGroup> <Compile Include="src\**\*.cs" /> </ItemGroup> <ItemGroup> <None Include="project.json" /> <None Include="appsettings.json" /> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(VSToolsPath)\DotNet.Web\Microsoft.DotNet.Web.targets" Condition="'$(VSToolsPath)' != ''" /> <PropertyGroup> <_TargetFrameworkDirectories>$(MSBuildThisFileDirectory)</_TargetFrameworkDirectories> <_FullFrameworkReferenceAssemblyPaths>$(MSBuildThisFileDirectory)</_FullFrameworkReferenceAssemblyPaths> <AutoUnifyAssemblyReferences>true</AutoUnifyAssemblyReferences> <AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects> <StartAction>Program</StartAction> <StartProgram>$(TargetDir)</StartProgram> <DebugEngines>{2E36F1D4-B23C-435D-AB41-18E608940038}</DebugEngines> </PropertyGroup> </Project>
project.json:
{ "version": "1.0.0", "buildOptions": { "emitEntryPoint": true, "preserveCompilationContext": true }, "dependencies": { "Microsoft.NETCore.App": { "version": "1.0.0", "type": "build" }, "Microsoft.ApplicationInsights.AspNetCore": "1.0.0", "Microsoft.AspNetCore.Mvc": "1.0.0", "Microsoft.AspNetCore.Server.Kestrel": "1.0.0", "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0", "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0", "Microsoft.Extensions.Configuration.Json": "1.0.0", "Microsoft.Extensions.Logging": "1.0.0", "Microsoft.Extensions.Logging.Console": "1.0.0", "Microsoft.Extensions.Logging.Debug": "1.0.0", "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0" }, "runtimes": { "win7-x64": {}, "ubuntu.14.04-x64": {}, "osx.10.10-x64": {} }, "frameworks": { "netcoreapp1.0": { "imports": [ "dnxcore50", "portable-net452" ] } }, "runtimeOptions": { "configProperties": { "System.GC.Server": true } }, "publishOptions": { "include": [ "appsettings.json", "web.config" ] }, "scripts": { "postpublish": [ "dotnet publish --publish-folder ./bin" ] } }