NancyFx / Nancy.Serialization.JsonNet

NewtonSoft.Json serializer for Nancy
MIT License
40 stars 32 forks source link

Fresh clone does not build out-of-the-box in Visual Studio 2017 #70

Open logiclrd opened 6 years ago

logiclrd commented 6 years ago

Prerequisites

Description

The how_to_build.txt file starts off with this sentence:

NOTE These instructions are only for building with Cake - if you just want to build the project manually you can do so just by loading the solution into Visual Studio 2015 and pressing build :-)

I do not have Visual Studio 2015, but I do have Visual Studio 2017. The project loads fine in Visual Studio 2017 (once a git submodule update --init has been run -- might be worth mentioning this in how_to_build.txt?), but attempting to build results in hundreds of errors like these:

1>Json\SimpleJson.cs(58,14,58,18): error CS0234: The type or namespace name 'Linq' does not exist in the namespace 'System' (are you missing an assembly reference?) 1>Json\SimpleJson.cs(63,14,63,21): error CS0234: The type or namespace name 'Dynamic' does not exist in the namespace 'System' (are you missing an assembly reference?) 1>AppDomainAssemblyCatalog.cs(7,18,7,22): error CS0234: The type or namespace name 'Linq' does not exist in the namespace 'System' (are you missing an assembly reference?) 1>AsyncNamedPipelineBase.cs(5,18,5,22): error CS0234: The type or namespace name 'Linq' does not exist in the namespace 'System' (are you missing an assembly reference?) ... 1>DynamicDictionary.cs(123,16,123,23): error CS1980: Cannot define a class or member that utilizes 'dynamic' because the compiler required type 'System.Runtime.CompilerServices.DynamicAttribute' cannot be found. Are you missing a reference? 1>DynamicDictionary.cs(203,37,203,44): error CS1980: Cannot define a class or member that utilizes 'dynamic' because the compiler required type 'System.Runtime.CompilerServices.DynamicAttribute' cannot be found. Are you missing a reference? 1>DynamicDictionary.cs(212,46,212,53): error CS1980: Cannot define a class or member that utilizes 'dynamic' because the compiler required type 'System.Runtime.CompilerServices.DynamicAttribute' cannot be found. Are you missing a reference? 1>DynamicDictionary.cs(244,49,244,56): error CS1980: Cannot define a class or member that utilizes 'dynamic' because the compiler required type 'System.Runtime.CompilerServices.DynamicAttribute' cannot be found. Are you missing a reference? ... 1>DynamicDictionary.cs(165,30,165,36): error CS0115: 'DynamicDictionary.Equals(object)': no suitable method found to override 1>DynamicDictionary.cs(193,29,193,40): error CS0115: 'DynamicDictionary.GetHashCode()': no suitable method found to override 1>DynamicDictionary.cs(15,84,15,102): error CS0535: 'DynamicDictionary' does not implement interface member 'IHideObjectMembers.GetType()' 1>DynamicDictionary.cs(15,84,15,102): error CS0535: 'DynamicDictionary' does not implement interface member 'IHideObjectMembers.ToString()'

There are 342 such errors, almost all of them represented in the above sample. They are generated by the build of the main Nancy.csproj project, and the failure of that project to build cascades to the other projects in the solution, as there is no Nancy.dll build output for them to reference.

Steps to Reproduce

  1. Clone Nancy.Serialization.JsonNet
  2. git submodule update --init
  3. Load Nancy.Serialization.JsonNet.sln in Visual Studio 2017
  4. Build

System Configuration

logiclrd commented 6 years ago

Oh, I forgot to mention: build.ps1 does work.