I can't make it work that way. I'm using the ASP.Net website model. ASP.Net is blind without either <assemblies> or putting the dll under the /bin directory.
There are two asp.net application project model in Visual Studio 2008 (it got introduced in 2005). For the Web Application Project, it has explicit reference with alias like a normal library/.net project so "extern alias DLR" will work. But on ASP.Net website project model, there's no such luck. It depends on web.config for it to know which assemblies to load. Dody G. On Tue, Aug 19, 2008 at 9:14 PM, Dino Viehland <[EMAIL PROTECTED]> wrote: > What if you don't add the assembly in the <assemblies> tag - I don't > think that should be necessary because you're adding it via the command > line. And .NET should still be able to find/load it because it's in the > GAC. > > > > *From:* [EMAIL PROTECTED] [mailto: > [EMAIL PROTECTED] *On Behalf Of *Dody Gunawinata > *Sent:* Tuesday, August 19, 2008 11:09 AM > > *To:* Dino Viehland > *Cc:* Discussion of IronPython > *Subject:* Re: [IronPython] defined in multiple assemblies (framework 3.5) > > > > <assemblies> > <add assembly="System.Core, Version=3.5.0.0, > Culture=neutral, PublicKeyToken=B77A5C561934E089"/> > <add assembly="System.Web.Extensions, Version=3.5.0.0, > Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> > <add assembly="System.Data.DataSetExtensions, Version= > 3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> > <add assembly="System.Xml.Linq, Version=3.5.0.0, > Culture=neutral, PublicKeyToken=B77A5C561934E089"/> > <add assembly="System.Web.Entity, Version=3.5.0.0, > Culture=neutral, PublicKeyToken=B77A5C561934E089"/> > <add assembly="Microsoft.Scripting.Core, Version=1.0.0.4000, > Culture=neutral, PublicKeyToken=1f108baf14f877c2, > processorArchitecture=MSIL" /> > </assemblies> > > This is how the web.config refers to the assembly in GAC. > > and this is the compiler options > > compilerOptions="/reference:DLR=c:\Microsoft.Scripting.Core.dll" > > > and this is the error. > > (0,0): error CS1703: An assembly with the same identity > 'Microsoft.Scripting.Core, Version=1.0.0.4000, Culture=neutral, > PublicKeyToken=1f108baf14f877c2' has already been imported. Try removing one > of the duplicate references. > > On Tue, Aug 19, 2008 at 8:48 PM, Dino Viehland <[EMAIL PROTECTED]> > wrote: > > But can't you leave the assembly in the GAC and have ASP.NET pick it up > from there? It should be that it can be referenced for compilation from one > spot and loaded from the GAC. > > > > *From:* [EMAIL PROTECTED] [mailto: > [EMAIL PROTECTED] *On Behalf Of *Dody Gunawinata > *Sent:* Tuesday, August 19, 2008 10:46 AM > > > *To:* Dino Viehland > *Cc:* Discussion of IronPython > *Subject:* Re: [IronPython] defined in multiple assemblies (framework 3.5) > > > > Nope. This compiles well but it won't be available for code behind. ASP.Net > can only compiles dll located either on the GAC or under /bin directory. > > If I put Microsoft.Scripting.Core under /bin and this option, it will > generate error > > "Error 10 An assembly with the same identity > 'Microsoft.Scripting.Core, Version=1.0.0.4000, Culture=neutral, > PublicKeyToken=1f108baf14f877c2' has already been imported. Try removing one > of the duplicate references. > " > > > On Tue, Aug 19, 2008 at 8:34 PM, Dino Viehland <[EMAIL PROTECTED]> > wrote: > > Ahh, apparently csc can't pick up assemblies out of the gac… L But you > should be able to copy Microsoft.Scripting.Core.dll anywhere you want and > then reference it. Now that it's in the GAC it should get picked up… So I > believe the final answer should be something like: > > > > /r:DLR="C:\Microsoft.Scripting.Core.dll" > > > > Where C:\ is some directory where you decide to stash the DLL. > > > > *From:* [EMAIL PROTECTED] [mailto: > [EMAIL PROTECTED] *On Behalf Of *Dody Gunawinata > *Sent:* Tuesday, August 19, 2008 10:24 AM > > > *To:* Dino Viehland > *Cc:* Discussion of IronPython > *Subject:* Re: [IronPython] defined in multiple assemblies (framework 3.5) > > > > *I might be doing something wrong*, *but Microsoft.Scripting.Core.dll is > definitely in the GAC.* > > (No space) > > compilerOptions="/reference:DLR=Microsoft.Scripting.Core,Version=1.0.0.4000,Culture=neutral,PublicKeyToken=31bf3856ad364e35,processorArchitecture=MSIL" > generates > > "Error 10 A /reference option that declares an extern alias can only > have one filename. To specify multiple aliases or filenames, use multiple > /reference options." > > (Quotes) > compilerOptions='/reference:DLR="Microsoft.Scripting.Core, > Version=1.0.0.4000, Culture=neutral, PublicKeyToken=31bf3856ad364e35, > processorArchitecture=MSIL"' > > Error 10 Metadata file > 'Microsoft.Scripting.Core,Version=1.0.0.4000,Culture=neutral,PublicKeyToken=31bf3856ad364e35,processorArchitecture=MSIL' > could not be found > > On Tue, Aug 19, 2008 at 8:13 PM, Dino Viehland <[EMAIL PROTECTED]> > wrote: > > Have you tried quotes? It should just be getting passed to the command > line so maybe quotes need to be present for the compiler to recognize it > correctly – or maybe just removing the spaces will work. > > > > *From:* Dody Gunawinata [mailto:[EMAIL PROTECTED] > *Sent:* Tuesday, August 19, 2008 10:13 AM > > > *To:* Dino Viehland > *Cc:* Discussion of IronPython > *Subject:* Re: [IronPython] defined in multiple assemblies (framework 3.5) > > > > hmm..still not working. ASP.Net reads those four qualifier as four > additional assemblies. > > Error 10 Source file 'Version=1.0.0.4000,' could not be found > Error 11 Source file 'Culture=neutral,' could not be found > Error 12 Source file 'PublicKeyToken=31bf3856ad364e35,' could not be > found > Error 13 Source file 'processorArchitecture=MSIL}' could not be > found > > On Tue, Aug 19, 2008 at 7:43 PM, Dino Viehland <[EMAIL PROTECTED]> > wrote: > > Doh! I forgot you probably need to use the fully qualified assembly name - > /reference:DLR=Microsoft.Scripting.Core, Version=1.0.0.4000, > Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL > > > > > > > > *From:* Dody Gunawinata [mailto:[EMAIL PROTECTED] > *Sent:* Tuesday, August 19, 2008 9:40 AM > *To:* Dino Viehland > *Cc:* Discussion of IronPython > > > *Subject:* Re: [IronPython] defined in multiple assemblies (framework 3.5) > > > > Yikes.. > > "Error 19 Metadata file 'Microsoft.Scripting.Core.dll' could not be > found". This is weird. > > > <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" > type="Microsoft.CSharp.CSharpCodeProvider, System, > Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > compilerOptions="/reference:DLR=Microsoft.Scripting.Core.dll"> > <providerOption name="CompilerVersion" value="v3.5"/> > <providerOption name="WarnAsError" value="false"/> > </compiler> > > On Tue, Aug 19, 2008 at 7:00 PM, Dino Viehland <[EMAIL PROTECTED]> > wrote: > > Ok, another thought... can you GAC the DLR assemblies and then add an > updated compilers tag to web.config which includes the alias? Something > like: > > <system.codedom> > <compilers> > <compiler language="c#;cs;csharp" extension=".cs" > type="Microsoft.CSharp.CSharpCodeProvider, System, > Version=%ASSEMBLY_VERSION%, Culture=neutral, > PublicKeyToken=%ECMA_PUBLICKEY%" warningLevel="1" > compilerOptions="/reference:DLR=Microsoft.Scripting.Core.dll"/> > </compilers> > </system.codedom> > > > > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto: > [EMAIL PROTECTED] On Behalf Of Fernando Correia > Sent: Tuesday, August 19, 2008 4:19 AM > To: [EMAIL PROTECTED]; Discussion of IronPython > Subject: Re: [IronPython] defined in multiple assemblies (framework 3.5) > > That's a huge issue for my project. I'm trying to leverage the DLR and > IronPython on a ASP.NET application that targets 3.5. I hope there is > a work-around. > > 2008/8/19 Dody Gunawinata <[EMAIL PROTECTED]>: > > - This pretty much locks up IronPython 2 from any .Net 3.5 based website. > > The ASP.Net MVC framework is based on .Net 3.5 too and they use a bunch > of > > System.Core facilities in their code base. The nicest thing about .Net > 3.5 > > is to be able to use LINQ on code behind and right now when I compile my > > application, I got a bunch of warnings about duplicated LINQ definition > > methods existing in 2 assemblies. Now I cannot use Action<> or Func<> in > > code behind. > > > > - I think this will prevent the next IP for ASP.Net to be able to use > .Net > > 3.5 libraries. > > _______________________________________________ > Users mailing list > [email protected] > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > > > > -- > nomadlife.org > > > > > -- > nomadlife.org > > > > > -- > nomadlife.org > > > > > -- > nomadlife.org > > > > > -- > nomadlife.org > -- nomadlife.org
_______________________________________________ Users mailing list [email protected] http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
