Page MenuHomePhabricator

Can't build AWB rev 12186 (and all revs after it)
Closed, DeclinedPublic

Description

I regularly use SharpDevelop to build AWB.
Recently, (rev 12186) when trying to build AWB, it doesn't succeed and gives these errors (see image).

  • Building AWB rev 12185 succeeds as expected, so, there must be an issue in the code in rev 12186.

    Version information: SharpDevelop 4.4 under Windows 10 version 1709

    Event Timeline

    Meno25 created this task.Jan 18 2018, 1:00 PM
    Restricted Application added a subscriber: Aklapper. · View Herald TranscriptJan 18 2018, 1:00 PM
    Meno25 updated the task description. (Show Details)Jan 18 2018, 1:01 PM
    Reedy added a subscriber: Reedy.Jan 18 2018, 4:02 PM

    Did you have any local modifications to the file?

    I made a few changes in November 2017, before that it hadn't been touched since Feb 2016

    https://github.com/reedy/AutoWikiBrowser/commits/master/AWB/AWBWebBrowser.cs

    12185 - https://github.com/reedy/AutoWikiBrowser/commit/98745b78a1aeaba5b512433829ef2e98eef7124e#diff-e01d152ab6675e4ca41b8902c2b8f947
    12186 - https://github.com/reedy/AutoWikiBrowser/commit/0c68ec526ca3518ff4c2d5f21ff5f26d2d7ed948#diff-e01d152ab6675e4ca41b8902c2b8f947
    12187 - https://github.com/reedy/AutoWikiBrowser/commit/606435ff99668e0fce085db1d7a073465bae45c2#diff-e01d152ab6675e4ca41b8902c2b8f947

    It builds fine for me locally... And 12176 doesn't match with any changes to that file. Did you mean 12176? Or 12186?

    The error (without seeing the actual code) kinda looks like a bad merge due to local changes or similar... Reset any local changes to it?

    Meno25 renamed this task from Can't build AWB rev 12196 (and all revs after rev 12176) to Can't build AWB rev 12186 (and all revs after it).Jan 18 2018, 4:53 PM
    Meno25 updated the task description. (Show Details)

    Did you have any local modifications to the file?
    I made a few changes in November 2017, before that it hadn't been touched since Feb 2016
    https://github.com/reedy/AutoWikiBrowser/commits/master/AWB/AWBWebBrowser.cs
    12185 - https://github.com/reedy/AutoWikiBrowser/commit/98745b78a1aeaba5b512433829ef2e98eef7124e#diff-e01d152ab6675e4ca41b8902c2b8f947
    12186 - https://github.com/reedy/AutoWikiBrowser/commit/0c68ec526ca3518ff4c2d5f21ff5f26d2d7ed948#diff-e01d152ab6675e4ca41b8902c2b8f947
    12187 - https://github.com/reedy/AutoWikiBrowser/commit/606435ff99668e0fce085db1d7a073465bae45c2#diff-e01d152ab6675e4ca41b8902c2b8f947
    It builds fine for me locally... And 12176 doesn't match with any changes to that file. Did you mean 12176? Or 12186?
    The error (without seeing the actual code) kinda looks like a bad merge due to local changes or similar... Reset any local changes to it?

    I deleted the file and updated my SVN copy and tried to build AWB using revs starting from 12176. It succeeded every time till rev 12185, then it failed starting from rev 12186. So, the problem is definitely in rev 12186.

    Reedy added a comment.Jan 18 2018, 5:56 PM

    The C# is definitely valid, it's been working fine in Visual Studio

    Take a screenshot of the where it's highlighting the errors in the code file?

    Reedy added a comment.Jan 18 2018, 5:57 PM

    Oh, and it's fine in JetBrains Rider too (ignoring the mshtml stuff)

    Meno25 added a comment.EditedJan 19 2018, 7:03 AM

    The C# is definitely valid, it's been working fine in Visual Studio
    Take a screenshot of the where it's highlighting the errors in the code file?

    I tried building rev 12197 with Visual Studio 2013 (under Windows 10 version 1709) and this is the screenshot. Building rev 12185 with Visual Studio 2013 works as expected. I appreciate if you could help me with this.

  • Highlighted errors

    Reedy added a comment.Jan 19 2018, 3:34 PM

    It's definitely valid syntax, but it might just be that it's only supported by newer compilers

    https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/is

    VS2017 community is free, and should compile this all fine... https://www.visualstudio.com/downloads/

    It's definitely valid syntax, but it might just be that it's only supported by newer compilers
    https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/is
    VS2017 community is free, and should compile this all fine... https://www.visualstudio.com/downloads/

    Thank you for the links. So, now we know that this is due to the migration of AWB code to newer keywords.

    Rjwilmsi added a subscriber: Rjwilmsi.EditedFeb 2 2018, 1:28 PM

    I have had to locally revert rev 12186 to continue to be able to compile using MonoDevelop.

    I would prefer that we do not end up with a requirement for both Windows and current version of VS to be able to compile.

    I am aware that the MSHTML references are not ideal, but are the best we can currently do without a big rewrite (and I don't know if there are other options that would provide equivalent functionality).

    Restricted Application added a subscriber: alanajjar. · View Herald TranscriptFeb 2 2018, 1:29 PM
    Reedy added a comment.Feb 2 2018, 1:44 PM

    I have had to locally revert rev 12186 to continue to be able to compile using MonoDevelop.
    I would prefer that we do not end up with a requirement for both Windows and current version of VS to be able to compile.

    What C# language versions does MonoDevelop actually support? Because that's actually the problem here.... VS will let you use newer C# language constructs, because it all compiles down to the same IL etc.

    Obviously, when we start using "newer" libraries, that's a different kettle of fish

    The MonoDevelop v 5.0.1 version* I have supports up to .NET 4.5.1, though for AWB we have to date standardized on .NET 3.5 to better support older versions of Windows, and Linux etc. under Wine and support other IDEs such as SharpDevelop, MonoDevelop.

    There has been no driver to need .NET 4 or later features for AWB to date. I have seen a couple of .NET 4 features that are neat, but we don't need to/have to use them, and I've very little knowledge of other features in .NET 4 or newer (I don't use .NET professionally).

    I am broadly hopeful that the .NET Core / Mono improvements that have happened/are ongoing will lead to the ability to build and run .NET natively on all major OSes, at which point we could happily standardize on that. However it seems that the .NET Core stuff does not currently include WinForms, so no use to us yet.

    *Newer version of MonoDevelop created executables that gave C#4-related errors under Wine; I now have a laptop with newer Wine version so should retest, but I still want us to stay on .NET 3.5 compatibility until there is a good reason or a real need to move higher.

    Reedy added a comment.Aug 19 2018, 8:05 PM

    Noting we're going to 4.5 soon...

    Reedy closed this task as Declined.Aug 28 2018, 1:59 PM