Skip to content
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

Please use standard Visual Studio Build system #85

Closed
bradphelan opened this issue Aug 16, 2016 · 18 comments
Closed

Please use standard Visual Studio Build system #85

bradphelan opened this issue Aug 16, 2016 · 18 comments

Comments

@bradphelan
Copy link

bradphelan commented Aug 16, 2016

I was hoping to add some contributions to the project but have trouble with your non standard build system.

I've installed nuproj but there are various errors after building. For example.

image

the project references are broken. I get the following warnings

Severity    Code    Description Project File    Line    Suppression State
Warning     The project 'ImmutableObjectGraph' cannot be referenced.    ImmutableObjectGraph.Generation         
Warning     The project 'ImmutableObjectGraph.Generation.Attributes' cannot be referenced.  ImmutableObjectGraph.Generation         
Warning     The project 'ImmutableObjectGraph.Generation.Attributes' cannot be referenced.  ImmutableObjectGraph.Generation.Tests           
Warning     The project 'ImmutableObjectGraph' cannot be referenced.    ImmutableObjectGraph.Generation.Tests           
Warning     The project 'ImmutableObjectGraph' cannot be referenced.    RoslynDemo          
Warning     The project 'ImmutableObjectGraph.Generation.Attributes' cannot be referenced.  RoslynDemo          
Warning     The "Nerdbank.GitVersioning.Tasks.GetBuildVersion" task failed unexpectedly.
System.MissingMethodException: Method not found: 'System.IO.Stream LibGit2Sharp.Blob.GetContentStream()'.
at Nerdbank.GitVersioning.VersionFile.GetVersionFileReader(Commit commit, String repoRelativeProjectDirectory, Boolean& isJsonFile)
at Nerdbank.GitVersioning.VersionFile.GetVersion(Commit commit, String repoRelativeProjectDirectory)
at Nerdbank.GitVersioning.GitExtensions.IsVersionFileChangedInWorkingCopy(Repository repo, String repoRelativeProjectDirectory, VersionOptions& committedVersion, VersionOptions& workingCopyVersion)
at Nerdbank.GitVersioning.GitExtensions.GetVersionHeight(Repository repo, String repoRelativeProjectDirectory)
at Nerdbank.GitVersioning.Tasks.GetBuildVersion.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()    RoslynDemo  C:\Users\phelan\.nuget\packages\Nerdbank.GitVersioning\1.4.41\build\Nerdbank.GitVersioning.targets  44  

When I try to look at the project properties for ImmutableObjectGraph(Portable) I see the following error.

image

My colleauge thinks this has something to do with the "suppresParent" field in the project.json file but we are not sure what removing this field might do to the build.

@bradphelan
Copy link
Author

As far as I can tell Microsoft is dropping the project.json format.

https://www.infoq.com/news/2016/05/project-json

Maybe it is a good idea to switch back to csproj files

@bradphelan
Copy link
Author

I changed the project.json to

{
  "dependencies": {
"CodeGeneration.Roslyn": "0.1.54",
"Nerdbank.GitVersioning": "1.4.41",
"NuProj.Common": "0.10.48-beta-gea4a31bbc5",
"NuSpec.ReferenceGenerator": "1.4.2",
"ReadOnlySourceTree": "0.1.37-beta",
"System.Collections.Immutable": "1.1.37",
"Validation": "2.2.8"
  },
  "frameworks": {
".NETPortable,Version=v4.5,Profile=Profile259": { }
  },
  "runtimes": {
"win": { }
  }
}

and I got further. The properties window for the project can now be shown. But now I get the following errors.

  Error RG001: The given path's format is not supported.
  Error MSB3073: The command ""C:\Users\phelan\.nuget\packages\NuSpec.ReferenceGenerator\1.4.2\build\portable-net45+win+wpa81+wp80+MonoAndroid10+xamarinios10+MonoTouch10\..\..\tools\RefGen.exe" ".NETPortable,Version=v4.5,Profile=Profile259;" dotnet "C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Core.NuGet\ImmutableObjectGraph.nuspec;C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Core.NuGet\obj\Debug\ImmutableObjectGraph.nuspec" "C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph\ImmutableObjectGraph.csproj" "C:\Users\phelan\workspace\ImmutableObjectGraph\bin\Debug\ImmutableObjectGraph\ImmutableObjectGraph.dll"" exited with code -1. (1, 1)

@AArnott
Copy link
Owner

AArnott commented Aug 16, 2016

Thanks for considering contributing to the library! Short answer: we are using proper Visual Studio project and build systems and patterns. I actually worked on the VS project & build team for 7 years as recently as last year. 😄

I've installed nuproj

That's fine, although not strictly necessary. You can build after a package restore from the command line without it.

The build errors you're seeing around missing methods in libgit2sharp are bizarre. I've never seen those. My best guess is you are using an msbuild node that previously loaded libgit2sharp for some other reason, and it was a different version of it. Try using all new msbuild nodes (using the /nr:false switch to msbuild.exe).

The errors in resolving references are all from the project system (more bugs in it). The build works just fine both in VS and the command line on my machine and on appveyor, which has no special software installed.

My colleauge thinks this has something to do with the "suppresParent" field in the project.json file but we are not sure what removing this field might do to the build.

This screenshot of a failed project designer page is a bug in the C# project system. And yes, it has to do with some element of the project.json file although I was never sure quite which one it was. suppressParent is nonetheless important to keep because it means some of our dependencies propagate including their msbuild imports. I generally find ways to avoid the project designer anyway so it's not much of an issue.

Maybe it is a good idea to switch back to csproj files

We are already using msbuild project files. This isn't the project.json files that replace MSBuild like in ASP.NET (or packaging projects) case. And the new project.json-less MSBuild feature Microsoft is talking about hasn't been delivered yet.

Error RG001: The given path's format is not supported.

That's because you removed suppressParent from the project.json files. 😦 After you put them back, you'll need to do a git clean -fdx :/ in your clone of the repo to clean up the garbage it produced.

@AArnott
Copy link
Owner

AArnott commented Aug 16, 2016

We can leave this issue open while we collaborate to get you unblocked.

@bradphelan
Copy link
Author

OK I'll give it another spin tomorrow.

On Tue, 16 Aug 2016, 16:41 Andrew Arnott, [email protected] wrote:

We can leave this issue open while we collaborate to get you unblocked.


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#85 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABE8sctwcrjShGbSa2n8rZqR2-9Lud8ks5qgcvagaJpZM4JlHEi
.

@bradphelan
Copy link
Author

I deleted the directory then started from scratch

git clone [email protected]:bradphelan/ImmutableObjectGraph.git
cd ImmutableObjectGraph
cs src
nuget restore
msbuild ImmutableObjectGraph.sln

The full build log for msbuild is at

https://gist.github.com/bradphelan/c8593c5244b4c68bf85f7634e1496ee1    

but the critical error is

C:\Users\phelan\.nuget\packages\NuProj\0.10.48-beta-gea4a31bbc5\tools\NuProj.ta
rgets(525,5): error : The replacement token 'GitCommitIdShort' has no value. [c
:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Core.NuG
et\ImmutableObjectGraph.Core.NuGet.nuproj]    

@AArnott
Copy link
Owner

AArnott commented Aug 17, 2016

Which version of NuGet.exe are you using? Try 3.3.0 if you're not using that.

@bradphelan
Copy link
Author

bradphelan commented Aug 17, 2016

NuGet Version: 3.4.3.855

Can you please check the version of nuget you wish to use into a tools directory?
Relying on the users system is probably not a good idea. I don't really want to
uninstall my current global nuget system and revert to an older just for one project.

As well if I build from the command line I get only the one error above. If I
switch to VS and try to build I get 60 errors. You say you are using standard VS
build strategies but it seems you are pushing the system to it's limit, what
with the broken project GUI's and differences between MSBUILD at the command
line and visual studio.

After building in VS and getting the 60 errors if I switch back to the command
line I also get the same error list. The only fix is a git clean -fdx to bring
it back to it's original state.

The VS errors I get when building are

Severity    Code    Description Project File    Line    Suppression State
Error       The replacement token 'GitCommitIdShort' has no value.  ImmutableObjectGraph.Core.NuGet C:\Users\phelan\.nuget\packages\NuProj\0.10.48-beta-gea4a31bbc5\tools\NuProj.targets    525 
Error       The replacement token 'GitCommitIdShort' has no value.  ImmutableObjectGraph.Generation.NuGet   C:\Users\phelan\.nuget\packages\NuProj\0.10.48-beta-gea4a31bbc5\tools\NuProj.targets    525 
Error   CS0234  The type or namespace name 'Immutable' does not exist in the namespace 'System.Collections' (are you missing an assembly reference?)    ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGen+BuilderGen.cs    5   Active
Error   CS0234  The type or namespace name 'CodeAnalysis' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)  ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGen+BuilderGen.cs    13  Active
Error   CS0246  The type or namespace name 'Validation' could not be found (are you missing a using directive or an assembly reference?)    ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGen+BuilderGen.cs    17  Active
Error   CS0246  The type or namespace name 'EventFieldDeclarationSyntax' could not be found (are you missing a using directive or an assembly reference?)   ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGen+BuilderGen.cs    281 Active
Error   CS0246  The type or namespace name 'EnumDeclarationSyntax' could not be found (are you missing a using directive or an assembly reference?) ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGen+DeltaGen.cs  100 Active
Error   CS0246  The type or namespace name 'StructDeclarationSyntax' could not be found (are you missing a using directive or an assembly reference?)   ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGen+DeltaGen.cs  151 Active
Error   CS0246  The type or namespace name 'IfStatementSyntax' could not be found (are you missing a using directive or an assembly reference?) ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGen+DeltaGen.cs  537 Active
Error   CS0400  The type or namespace name 'CodeGeneration' could not be found in the global namespace (are you missing an assembly reference?) ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGen.cs   14  Active
Error   CS0246  The type or namespace name 'AttributeSyntax' could not be found (are you missing a using directive or an assembly reference?)   ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGen.cs   46  Active
Error   CS0246  The type or namespace name 'ThrowStatementSyntax' could not be found (are you missing a using directive or an assembly reference?)  ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGen.cs   53  Active
Error   CS0246  The type or namespace name 'ClassDeclarationSyntax' could not be found (are you missing a using directive or an assembly reference?)    ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGen.cs   90  Active
Error   CS0246  The type or namespace name 'PropertyDeclarationSyntax' could not be found (are you missing a using directive or an assembly reference?) ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGen.cs   186 Active
Error   CS0246  The type or namespace name 'FieldDeclarationSyntax' could not be found (are you missing a using directive or an assembly reference?)    ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGen.cs   186 Active
Error   CS0246  The type or namespace name 'VariableDeclaratorSyntax' could not be found (are you missing a using directive or an assembly reference?)  ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGen.cs   186 Active
Error   CS0246  The type or namespace name 'IdentifierNameSyntax' could not be found (are you missing a using directive or an assembly reference?)  ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGen.cs   201 Active
Error   CS0246  The type or namespace name 'ITypeSymbol' could not be found (are you missing a using directive or an assembly reference?)   ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGen.cs   218 Active
Error   CS0246  The type or namespace name 'SyntaxNode' could not be found (are you missing a using directive or an assembly reference?)    ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGen.cs   242 Active
Error   CS0246  The type or namespace name 'INamedTypeSymbol' could not be found (are you missing a using directive or an assembly reference?)  ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGen.cs   275 Active
Error   CS0246  The type or namespace name 'MethodDeclarationSyntax' could not be found (are you missing a using directive or an assembly reference?)   ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGen.cs   474 Active
Error   CS0246  The type or namespace name 'ParameterListSyntax' could not be found (are you missing a using directive or an assembly reference?)   ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGen.cs   752 Active
Error   CS0246  The type or namespace name 'ArgumentListSyntax' could not be found (are you missing a using directive or an assembly reference?)    ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGen.cs   769 Active
Error   CS0246  The type or namespace name 'ConstructorDeclarationSyntax' could not be found (are you missing a using directive or an assembly reference?)  ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGen.cs   815 Active
Error   CS0246  The type or namespace name 'TypeDeclarationSyntax' could not be found (are you missing a using directive or an assembly reference?) ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGen.cs   815 Active
Error   CS0246  The type or namespace name 'IFieldSymbol' could not be found (are you missing a using directive or an assembly reference?)  ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGen.cs   821 Active
Error   CS0246  The type or namespace name 'ISymbol' could not be found (are you missing a using directive or an assembly reference?)   ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGen.cs   842 Active
Error   CS0246  The type or namespace name 'INamespaceOrTypeSymbol' could not be found (are you missing a using directive or an assembly reference?)    ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGen.cs   884 Active
Error   CS0246  The type or namespace name 'QualifiedNameSyntax' could not be found (are you missing a using directive or an assembly reference?)   ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGen.cs   944 Active
Error   CS0246  The type or namespace name 'BaseTypeSyntax' could not be found (are you missing a using directive or an assembly reference?)    ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGen.cs   994 Active
Error   CS0246  The type or namespace name 'CodeGeneration' could not be found (are you missing a using directive or an assembly reference?)    ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGenerator.cs 10  Active
Error   CS0246  The type or namespace name 'ICodeGenerator' could not be found (are you missing a using directive or an assembly reference?)    ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGenerator.cs 15  Active
Error   CS0246  The type or namespace name 'AttributeData' could not be found (are you missing a using directive or an assembly reference?) ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGenerator.cs 17  Active
Error   CS0246  The type or namespace name 'ImmutableDictionary<,>' could not be found (are you missing a using directive or an assembly reference?)    ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGenerator.cs 18  Active
Error   CS0246  The type or namespace name 'TypedConstant' could not be found (are you missing a using directive or an assembly reference?) ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGenerator.cs 18  Active
Error   CS0246  The type or namespace name 'SyntaxList<>' could not be found (are you missing a using directive or an assembly reference?)  ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGenerator.cs 28  Active
Error   CS0246  The type or namespace name 'Document' could not be found (are you missing a using directive or an assembly reference?)  ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGenerator.cs 28  Active
Error   CS0246  The type or namespace name 'Diagnostic' could not be found (are you missing a using directive or an assembly reference?)    ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\CodeGenerator.cs 28  Active
Error   CS0246  The type or namespace name 'DiagnosticSeverity' could not be found (are you missing a using directive or an assembly reference?)    ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\Diagnostics.cs   12  Active
Error   CS0246  The type or namespace name 'MemberDeclarationSyntax' could not be found (are you missing a using directive or an assembly reference?)   ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\StyleCop.cs  16  Active
Error   CS0246  The type or namespace name 'SyntaxTokenList' could not be found (are you missing a using directive or an assembly reference?)   ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\StyleCop.cs  86  Active
Error   CS0246  The type or namespace name 'SyntaxToken' could not be found (are you missing a using directive or an assembly reference?)   ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\StyleCop.cs  97  Active
Error   CS0246  The type or namespace name 'SyntaxKind' could not be found (are you missing a using directive or an assembly reference?)    ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\StyleCop.cs  108 Active
Error   CS0246  The type or namespace name 'ParameterSyntax' could not be found (are you missing a using directive or an assembly reference?)   ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\Syntax.cs    18  Active
Error   CS0246  The type or namespace name 'NameSyntax' could not be found (are you missing a using directive or an assembly reference?)    ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\Syntax.cs    25  Active
Error   CS0246  The type or namespace name 'TypeSyntax' could not be found (are you missing a using directive or an assembly reference?)    ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\Syntax.cs    25  Active
Error   CS0246  The type or namespace name 'MemberAccessExpressionSyntax' could not be found (are you missing a using directive or an assembly reference?)  ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\Syntax.cs    34  Active
Error   CS0246  The type or namespace name 'ExpressionSyntax' could not be found (are you missing a using directive or an assembly reference?)  ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\Syntax.cs    34  Active
Error   CS0246  The type or namespace name 'InvocationExpressionSyntax' could not be found (are you missing a using directive or an assembly reference?)    ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\Syntax.cs    39  Active
Error   CS0246  The type or namespace name 'ImmutableArray<>' could not be found (are you missing a using directive or an assembly reference?)  ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\Syntax.cs    68  Active
Error   CS0246  The type or namespace name 'DeclarationInfo' could not be found (are you missing a using directive or an assembly reference?)   ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\Syntax.cs    68  Active
Error   CS0246  The type or namespace name 'SemanticModel' could not be found (are you missing a using directive or an assembly reference?) ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\Syntax.cs    68  Active
Error   CS0246  The type or namespace name 'TextSpan' could not be found (are you missing a using directive or an assembly reference?)  ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\Syntax.cs    68  Active
Error   CS0246  The type or namespace name 'SeparatedSyntaxList<>' could not be found (are you missing a using directive or an assembly reference?) ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\Syntax.cs    263 Active
Error   CS0246  The type or namespace name 'SyntaxNodeOrTokenList' could not be found (are you missing a using directive or an assembly reference?) ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\Syntax.cs    281 Active
Error   CS0246  The type or namespace name 'ArgumentSyntax' could not be found (are you missing a using directive or an assembly reference?)    ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\Syntax.cs    312 Active
Error   CS0246  The type or namespace name 'SimpleNameSyntax' could not be found (are you missing a using directive or an assembly reference?)  ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\Syntax.cs    318 Active
Error   CS0246  The type or namespace name 'StatementSyntax' could not be found (are you missing a using directive or an assembly reference?)   ImmutableObjectGraph.Generation C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\Syntax.cs    349 Active
Error   CS0006  Metadata file 'C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\bin\Debug\ImmutableObjectGraph.Generation.dll' could not be found ImmutableObjectGraph.Generation.Tests   C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation.Tests\CSC    1   Active
Error   CS0006  Metadata file 'C:\Users\phelan\workspace\ImmutableObjectGraph\src\ImmutableObjectGraph.Generation\bin\Debug\ImmutableObjectGraph.Generation.dll' could not be found RoslynDemo  C:\Users\phelan\workspace\ImmutableObjectGraph\src\RoslynDemo\CSC   1   Active

@bradphelan
Copy link
Author

The feature I want to try to contribute to is. #84 as we have our own that I could port.

@AArnott
Copy link
Owner

AArnott commented Aug 17, 2016

I don't really want to uninstall my current global nuget system and revert to an older just for one project.

Nuget.exe isn't something you installed, I suppose, is it? Didn't you just download the .exe? Uninstallation isn't required.

You say you are using standard VS build strategies but it seems you are pushing the system to it's limit

nuget.exe and the nuget functionality within VS has been extremely turbulent with feature gaps and bugs. The one you're using (3.4.3) is one of the buggiest. 3.3.0 had a really good combination of features and stability. 3.4.4 is ok but it has its own regressions that must be worked around. NuGet support in VS itself is full of holes.

Relying on the users system is probably not a good idea.

You're absolutely right. At the time I was actively working on this project, 3.3.0 was the latest version and I didn't really need to worry (or so I thought). Since then, the nuget team kept releasing broken release after broken release, and most of the projects I actively work on have scripts to automate acquisition of the compatible version of nuget.exe and a guidance doc that tells you how to workaround VS's own bugs. This project lacks that. I'll resolve this issue when I update this project to follow those patterns so it's easier for folks to onboard to this project.

@bradphelan
Copy link
Author

In case it is relevant here is my VS version.

image

@AArnott
Copy link
Owner

AArnott commented Aug 17, 2016

I just realized my contribution.md doc already mentions that nuget 3.3.0 is required. Did you read it before filing this issue?

@bradphelan
Copy link
Author

I see I have not read your docs properly :(

I have created a tools directory and added nuget.exe 3.3.0 to it. It's only 3k. Is there a big reason not to check it in?

The build now works.

Thanks for the pointers.

@AArnott
Copy link
Owner

AArnott commented Aug 17, 2016

3k? or 3.3MB. I see it as 3.3MB. Watch for a commit in a moment. I've got it going. I don't like checking in binaries, but it turns out that's not necessary.

@bradphelan
Copy link
Author

It still doesn't build from VS though.

@AArnott
Copy link
Owner

AArnott commented Aug 17, 2016

Did you follow the contrib guidance I added in that commit?

@bradphelan
Copy link
Author

ok I'll read some more. I'm not sure I need to commit directly to the project anyway. I can create a dependent nuget package.

@bradphelan
Copy link
Author

I've created a dependent project to do my experiments with. I don't need to add these feature currently directly to your source. But you may be interested in the progress or contribute some ideas yourself.

#84 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants