Hi there,
Does Cobra targets only the .NET Framework 2.0, 3.0 and 3.5? is there any switch on the compiler command line to switch to use .NET 4.0?
When trying to reference a .dll assembly that is only available for the .NET Framework 4.0 i get the following error:
C:\Cobra\Cobra-0.8.0-post\bin>cobra test.cobra -ref:System.Numerics.dll
error: COBRA INTERNAL ERROR / BadImageFormatException / Could not load file or a
ssembly 'file:///C:\Cobra\Cobra-0.8.0-post\bin\System.Numerics.dll' or one of it
s dependencies. This assembly is built by a runtime newer than the currently loa
ded runtime and cannot be loaded.
Compilation failed - 1 error, 0 warnings
Not running due to errors above.
Thanks for the info.
Forums
.NET 4.0 support | -ref:System.Numerics.dll?
3 posts
• Page 1 of 1
Re: .NET 4.0 support | -ref:System.Numerics.dll?
Hello Carlosqt
There are plans to bring up a .net 4.o compatible CobraCompiler
but certain things can still be done to overcome this issue
http://cobrapluginsd.codeplex.com/releases/
4) take cobra.exe and cobra.lang.dll use ILDASM of .net 4.0 and
pass it a a command line like this
ILDASM where_Ever_Cobra.exe_IsLocated\Cobra.exe /out=where_Ever_U_Want_ILToBe_Produced\Cobra.il
you will see a Cobra.il file produced now in that file after opening it in any Editor/notepad
write
// Metadata version: v4.0.30319
.assembly extern mscorlib
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 4:0:0:0
}
.assembly extern System
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 4:0:0:0
}
instead of whatever you find instead of above written it would be
most probably v2.something and .ver 2:something
now use ILASM and pass it a command prompt line like this
ILASM pathofCobra.il\Cobra.il /EXE /out=cobra.exe
you will have a .net 4.0 compatible Cobra.exe
do the same for Cobra.Lang.dll
i just tested this way i am not sure if it would create problems in future
only problem i can think with this way is that if certain methods used
earlier which might not be in the new version might be troublesome
but you can try
Thanking_You
RIGHT_THEN
There are plans to bring up a .net 4.o compatible CobraCompiler
but certain things can still be done to overcome this issue
1) on commmand line you can specify which C# compiler to use to compile
your code -native-compiler[:file-system-path] default is auto
or
-sharp-compiler
like -native-compiler:"C:\Windows\Microsoft.NET\Framework\csc.exe"
2) while building Cobra in your cobra-workspace\source from install-from-workspace.bat
you can tweek install-from-workspace.cobra to use -kif:yes options
whereever it is calling compiler to compile. that way you would have
cobra source as c# files. you can then compile these c# files with C#4.0
compiler. so the resultant assembly/compiler will automatically be .net4.0
compatible.
3) you can go to
and download
CobraAsCsharp_4. In that you would find a .net 4 compatible compiler
which is gotten by the same process mentioned above. but it is old by
a couple of releases. but you would get the idea.
4) take cobra.exe and cobra.lang.dll use ILDASM of .net 4.0 and
pass it a a command line like this
ILDASM where_Ever_Cobra.exe_IsLocated\Cobra.exe /out=where_Ever_U_Want_ILToBe_Produced\Cobra.il
you will see a Cobra.il file produced now in that file after opening it in any Editor/notepad
write
// Metadata version: v4.0.30319
.assembly extern mscorlib
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 4:0:0:0
}
.assembly extern System
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 4:0:0:0
}
instead of whatever you find instead of above written it would be
most probably v2.something and .ver 2:something
now use ILASM and pass it a command prompt line like this
ILASM pathofCobra.il\Cobra.il /EXE /out=cobra.exe
you will have a .net 4.0 compatible Cobra.exe
do the same for Cobra.Lang.dll
i just tested this way i am not sure if it would create problems in future
only problem i can think with this way is that if certain methods used
earlier which might not be in the new version might be troublesome
but you can try
Thanking_You
RIGHT_THEN
Last edited by RIGHT_THEN on Wed May 11, 2011 11:27 am, edited 2 times in total.
- RIGHT_THEN
- Posts: 99
Re: .NET 4.0 support | -ref:System.Numerics.dll?
Hi RIGHT_THEN,
Perfect, thanks for the replay.
I will try those options and see how it works.
Carlos
Perfect, thanks for the replay.
I will try those options and see how it works.
Carlos
- carlosqt
- Posts: 17
- Location: Belgium
3 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 37 guests