[IronPython] Gestalt, IronPython in Silverlight and embedded xaml

Jimmy Schementi Jimmy.Schementi at microsoft.com
Thu Apr 1 05:04:14 CEST 2010


> I mean that if I develop in an html file I can't view it from the filesystem in a
> browser but must still have a locally running server for the scripts to run.

Yes, this is true today; I think mainly because dlr.xap depends on downloading Microsoft.Scripting.slvx at startup, and that must be failing from the file-system. If the assemblies were in the XAP, I'm pretty sure it'll work, and I think that's what will happen in the future. http://ironpython.codeplex.com/WorkItem/View.aspx?WorkItemId=26672.

Though, do you really not have a machine that has a web-server running on it anyway, be it Apache or IIS? I like that it doesn't *require* me to use Chiron.

> This means any backwards incompatible changes are *guaranteed* to break
> apps using it. :-) What are needed are versioned URLs so that you can specify
> precisely which version to use.

The first "Note" in the docs addresses this: http://ironpython.net/browser/docs.html#setup

"Note: using the gestalt.ironpython.net version is preferred, especially in production. However, please pick a specific version (like dlr-20100305.js, rather than dlr-latest.js), as this will ensure your application keeps working between releases; dlr-latest.js will always point to the most recent version."

But I guess that should be called out a bit more obviously?

> Are these [other versions] available, I couldn't find them in the
> docs but I may just not be looking in the right place.

The online versions aren't enumerated anywhere, as there's just two:

http://gestalt.ironpython.net/dlr-20100305.js
http://gestalt.ironpython.net/dlr-20091120.js

For the next release I can start maintaining this list on the website.

> I did think that the docs said all un-scoped scripts were run against the default
> control, but using an explicit scope is no problem.

Yes, that's true; un-scoped scripts are run against the "default control", which is defined as the control automatically added to the page when dlr*.js is run, and has a width/height of 1px; basically for DOM-only apps. If you have a XAML script-tag though, that DOM-only control is still added to the page, forcing you to always scope your script-tag if you're using XAML. I guess you assumed the "default control" meant the "first control"? I'm a bit unsure about what the right behavior should be, so I just left it as-is; let me know what you think: http://ironpython.codeplex.com/WorkItem/View.aspx?WorkItemId=26673

~js




More information about the Ironpython-users mailing list