#1
|
|||
|
|||
Using LINQ with script writing
Hi all,
I was writing a small script the other day and decided to use a little LINQ. However, when I loaded the mission in the FMB and ran compile in the scripts window I got a compiler warning about not recognising LINQ. I was under the impression that the game was compiled with .NET 4.0, so this has got me stumped. Any ideas? P.S - I wanted to create an assembly with some common routines rather than having to add them to every script. Have the same problem here as I do not know where to put the assembly for it to be referenced by the script file. Haven't tried the GAC, but wanted to avoid it if possible. |
#2
|
|||
|
|||
you must set a reference to System.Linq.dll the before loading the namespaces, but may be you need others dlls too.
Example: //$reference System.Data.dll //$reference System.Linq.dll //$reference System.XML.dll using System; using System.Data; using System.Linq; |
#3
|
|||
|
|||
Thanks for the reply Kodiak.
I had added the using statements and the project compile successfully in VS2010 Express. However, it would not compile in FMB when right clicking 'Compile' on the scripting window. |
#4
|
|||
|
|||
There is no need to "compile" it in FMB.
Start your mission and then open the console, if there no errors like missing assembly etc. the script should work. |
#5
|
|||
|
|||
The FMB crashes when I load the mission. It is working fine if I re-write the LINQ statement with a foreach loop.
|
#6
|
|||
|
|||
Hm had no problem with linq, but i only tried a little test script.
|
#7
|
|||
|
|||
Very strange,
I know that unused using statments are disregarded by the compiler in C#. Did you write any LINQ statements or just add the reference? |
#8
|
|||
|
|||
Only a little Linq statement.
Sometimes it helps if you delete the cache of CoD. Can you attach a sample script of your code so i can test it on my computer? |
#9
|
|||
|
|||
NecroThread for posterity:
To use Linq, it's in System.Core.dll so use //$reference System.Core.dll |
|
|