-
Notifications
You must be signed in to change notification settings - Fork 30
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
WIP: Migrate to new csproj VS2017+ #66
base: master
Are you sure you want to change the base?
Conversation
AssemblyInfo is no longer required, info moved to csproj. Csproj do not require listing files so template is also removed.
I also suspect that this won't work with ancient mono's xbuild? |
I am not sure about this. I noticed, that
What about to switch to |
There is no msbuild in mono packages, so I would assume that it means it needs to be download and installed separately. I'm 95% sure that it's not just a matter of swapping xbuild => msbuild — likely we'll need to configure msbuild somehow to teach it that we have this installation of mono here and this is what we want to use to compile these .cs files. |
I'll try to look at this more closely. It seems that some distributions contain mono/msbuild package, according to xamarin.github.io/bugzilla-archives. |
Actually, we've already broken mono/xbuild builds with kaitai-io/kaitai_struct_csharp_runtime#15:
|
5c2d593
to
ad0e6a4
Compare
ad0e6a4
to
6d47ecd
Compare
I tried to rebase this PR to the current master and I am not sure about updating the current spec. What do you think (@GreyCat) about keeping the current csharp spec for mono/.net framework and creating a new for .NET core? I tried to rebase this PR to current master and test it with msbuild, xbuild and windows with netcli. It requires a lot of if/else path exists checks because of new csproj format and packages.config stores packages in different locations and with different file structure (sln/packages/NUnit.ConsoleRunner.3.4.1/tools/nunit3-console.exe) vs (user profile/.nuget/packages/NUnit.ConsoleRunner/3.4.1). And to make the new csproj work with MSBuild, it requires to run With my aim to add async support, kaitai-io/kaitai_struct#640 I would need to increase TargetFramework to netstandard2.0 in Kaitai Struct Csharp Runtime. Netstandard2.0 is not compatible with netframework4.5 but only with netframework4.6.1+. I would propose to add a new project to Kaitai Struct Csharp Runtime containing |
Changing csproj to new version VS2017+ as a prerequisite for Adding async support
AssemblyInfo
is no longer required, info moved tocsproj
.Csproj
do not require listing files so template is also removed.Adding copy phase do
csharp_builder.rb
so copmpiled sources are copied with CI to test project destination.Note that project cannot be compiled, same as the master, see #644 for details. After manual resolution of compile errors it seems ok.
I hope to follow with multi-targeting and
.net core
tests after kaitai_struct_csharp_runtime builds for.net core
.