C# on Linux SSH Target - strange error


(Michal) #1

Hello, I’m testing to run C# script on Linux SSH Target.
Script is started but I get strange error:
(255,39): error CS0584: Internal compiler error: The method or operation is not implemented.
(1,2): error CS0103: The name `Octopus’ does not exist in the current context

And I can’t access Octopus variables.

On linux target I run latest versions of CentOS7 and Mono:
OS: Linux 3.10.0-862.14.4.el7.x86_64 x86_64
Distro: CentOS Linux release 7.5.1804 (Core)
Mono version: Mono JIT compiler version 5.16.0.187

I’m also running latest version of Octopus server 2018.9.5.

Error:

My testing C# script:


(Michal) #3

When I downgrade to Mono 4.4.2, it starts working.
It is strange that in official docs is:
Version 3.10 or greater of Mono is required, however, we recommended a minimum of version 4.8.0 .
We currently execute automated tests against the following platforms:

  • Centos 7.3 + Mono 4.4.2

So which version of Mono is officially supported on Linux?


#4

Hi @salamoun

Sorry for the delay in getting back to you on this one.

We’ve been doing some investigation on this side and it appears that mono version 5.16.0 introduces System.IO.Path.GetFileName method overload taken from the .NET corefx code base. This breaks our scripts (which use ScriptCS).

We’ve confirmed that everything is OK up to Mono 5.14, so for now I would recommend upgrading to there for now. We are working on resolving the underlying issue, I would follow the Github issue that we have raised for the problem.

Sorry for the inconvenience, please let me know if there is anything else that I can assist with in the meantime.

Regards,
Alex