We are currently running Umbraco 4.0.3 and Courier 1.1.1. We just tried to upgrade to the .Net 4.0 runtime, we figured out everything else, but Courier licensing has me stuck. I get the following error "
Could not load file or assembly 'Umbraco.Pro.Licensing.dll' or one of its dependencies. Invalid access to memory location
The app pool was changed to 4.0, 32 bit enabled, Classic Mode. Basically the same as before, but v4.0.
We have external references and a suite of other software and websites that we upgraded fine, Umbracco is the only snag, which would mean we have to roll everything else back to 3.5.
No need to downvote you, just saying that if you really want to be bleeding edge, then you should have a good reason for it (except for "because we can"). This early on in .net 4.0 adoption, I don't really see the point unless you desperately need to use the new features in .net 4 (like parallel processing).
We have external dll's that were built with 4.0 runtime that are used within custom user controls that must be referenced within the Umbraco App Pool. Its as isolated as we can get without running a separate web service tier for external dependencies. Without getting into a convoluted 'ought' argument on separation of concerns, suffice to say that Umbraco has been trying to get off the old licensing scheme that was supposed to be done Q1 this year. And, we are planning to using parallel processing, dynamic keyword, among other things.
Courier 1.2 was released last week, which finally get rid of the old licensing. If you're a previous PRO customer it's available from your profile at http://umbraco.org/support.
It was harder than expected, but we're finally rid of the 3rd party component that made our releases depend on non managed code.
Courier and .Net 4.0 Runtime
We are currently running Umbraco 4.0.3 and Courier 1.1.1. We just tried to upgrade to the .Net 4.0 runtime, we figured out everything else, but Courier licensing has me stuck. I get the following error "
Could not load file or assembly 'Umbraco.Pro.Licensing.dll' or one of its dependencies. Invalid access to memory location
The app pool was changed to 4.0, 32 bit enabled, Classic Mode. Basically the same as before, but v4.0.
Added this to the web.config:
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
That fixed this issue, but now we get the following error
Common Language Runtime detected an invalid program
[InvalidProgramException: Common Language Runtime detected an invalid program.] Umbraco.Courier.BusinessLogic.Tree.CourierAction..ctor() +0 [TargetInvocationException: Exception has been thrown by the target of an invocation.] System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) +0 System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache) +98 System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean fillCache) +241 System.Activator.CreateInstance(Type type, Boolean nonPublic) +69 umbraco.BusinessLogic.Actions.Action.RegisterIActions() +175 umbraco.BusinessLogic.Actions.Action..cctor() +150 [TypeInitializationException: The type initializer for 'umbraco.BusinessLogic.Actions.Action' threw an exception.] umbraco.BusinessLogic.Actions.Action.GetJavaScriptFileReferences() +0 umbraco.cms.presentation._umbraco.RenderActionJS() +47 umbraco.cms.presentation._umbraco.Page_Load(Object sender, EventArgs e) +1021 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35 System.Web.UI.Control.OnLoad(EventArgs e) +91 umbraco.BasePages.BasePage.OnLoad(EventArgs e) +14 System.Web.UI.Control.LoadRecursive() +74 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207
I don't think the 4.0 runtime is currently supported yet. Do you REALLY, really need it? If it's not necessary, go with 3.5 it works just fine.
We have external references and a suite of other software and websites that we upgraded fine, Umbracco is the only snag, which would mean we have to roll everything else back to 3.5.
Insert downvote on your answer.
No need to downvote you, just saying that if you really want to be bleeding edge, then you should have a good reason for it (except for "because we can"). This early on in .net 4.0 adoption, I don't really see the point unless you desperately need to use the new features in .net 4 (like parallel processing).
Of course, if you run your Umbraco installs in a different app pool, you wouldn't need to downgrade everything.
We have external dll's that were built with 4.0 runtime that are used within custom user controls that must be referenced within the Umbraco App Pool. Its as isolated as we can get without running a separate web service tier for external dependencies. Without getting into a convoluted 'ought' argument on separation of concerns, suffice to say that Umbraco has been trying to get off the old licensing scheme that was supposed to be done Q1 this year. And, we are planning to using parallel processing, dynamic keyword, among other things.
Courier 1.2 was released last week, which finally get rid of the old licensing. If you're a previous PRO customer it's available from your profile at http://umbraco.org/support.
It was harder than expected, but we're finally rid of the 3rd party component that made our releases depend on non managed code.
1.2 solve our .Net 4.0 Issue, now we have brand new licensing issues :)
http://our.umbraco.org/forum/umbraco-pro/courier/9296-Courier-12-Upgrade---Umbraco-Courier-is-running-in-trial-mode
is working on a reply...