Error: Only X86 Assemblies are supported

A SQL Server Management Studio add-in to source control your database in Subversion or Team Foundation Server.

Moderators: Chris Auckland, David Atkinson, sherr, PhilScrace

Error: Only X86 Assemblies are supported

Postby ShamanDBA » Tue Jul 20, 2010 2:46 pm

Anyone getting the error the following error when checking in changes:

Only x86 asseblies are supported.

Is there any work around for this?
ShamanDBA
 
Posts: 1
Joined: Tue Jul 20, 2010 2:41 pm
Location: Columbia

We don't currently support x64 CLR assemblies...

Postby sherr » Tue Jul 20, 2010 7:26 pm

We don't currently support x64 CLR assemblies. Our internal reference number is SOC-1208 and we are looking into fixing this, but I don't have an estimate at this time.

If you'd like to add your vote to the user voice request that would be helpful.
http://redgate.uservoice.com/forums/390 ... r-have-the

You could try unchecking this in your commit list for now.

Thanks you!
Stephanie M. Herr :-)
SQL Source Control Project Manager
sherr
 
Posts: 126
Joined: Thu Mar 19, 2009 12:45 pm
Location: Cambridge

Unchecking didn't work

Postby peter eh » Thu Jul 22, 2010 4:52 pm

> You could try unchecking this in your commit list for now.

I wish I could. I get an UnhandledException while comparing, so no change to check or uncheck anything. (RG Source Control 1.0.1.13, SQL Server 2008 R2 64bit Developer Edition).
Other projects without assemblies work fine (except those with spatial data, but that's another point).

Any other ideas to uncheck assemblies?

Peter
peter eh
 
Posts: 10
Joined: Thu Jul 22, 2010 4:32 pm

Postby simon.jackson » Thu Jul 22, 2010 5:23 pm

Hey peter. Sorry again about the problem, we're working on fixing it, but I for now I'm just going to flesh out the work around. Once you've committed the assembly to source control we are unable to show the tab, but if it never goes into source control (or we cunningly delete it) then the tab will still work. That means that you can carry on trying out the product by never committing the assembly.

In order to delete the assembly you can
- Delete the assemblies sql file using your normal source control client and commit
- You then need to go and update your WorkingBase folder manually using your source control client. If you look in C:\\Users\\<whoever>\\AppData\\Local\\Red Gate\\SQL Source Control 1\\WorkingBases for the file you just deleted in source control, and then update the Assemblies directory containing it the file should disappear
- If you then restart SSMS the tab should now load without error, showing the Assembly as an Add on the commit tab.
simon.jackson
 
Posts: 45
Joined: Thu Jan 08, 2009 10:42 am

Still didn't work

Postby peter eh » Fri Jul 23, 2010 10:39 am

Hi Simon
Thanks for your help. I've taken the folowing steps:
- I moved the assemblies with the TortoiseSVN RepoBrowser away to another temporary project, because I don't want to loose the history. The assemblies folder is now empty.
- Checked the ...\\SQL Source Control 1\\WorkingBases\\...\\Assemblies directory. It contains only empty subfolders, but no files.
- Restarted SSMS, connect to the server, select the database and ... get the UnhandledException in the \"Commit Changes\" tab :(

Maybe this is not the same problem? I attached the complete error message from Source Control. The mentioned function and assembly, both exists in the database and are working fine.

Peter

RedGate.SQLSourceControl.Engine.SqlCompareException: Failed to locate the CLR assembly MCH.Sql for the [dbo].[fnc_regex_validate_CLR] function. ---> RedGate.SQLCompare.Engine.SqlCompareException: Failed to locate the CLR assembly MCH.Sql for the [dbo].[fnc_regex_validate_CLR] function. ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 3712, offset:392 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 3710, offset:2753 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 539, offset:477 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 2048, offset:37 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 314, offset:38 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 1985, offset:0 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 313, offset:38 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 316, offset:38 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 952, offset:61 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 938, offset:89 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 950, offset:14 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 2171, offset:58 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 1926, offset:63 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 218, offset:548 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 2168, offset:1084 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 1989, offset:18 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 314, offset:38 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 318, offset:38 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 1765, offset:213 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 2165, offset:63 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 1764, offset:99 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 1763, offset:52 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 1229, offset:25 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 1226, offset:0 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 2065, offset:0 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 1928, offset:117 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 203, offset:11 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 248, offset:137 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 724, offset:26 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 2314, offset:31 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 1357, offset:120 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 1359, offset:21 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 1504, offset:13
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
at #Eyg.#Gyg.#eGh()
at #Eyg.#Gyg.#vl()
at RedGate.SQLCompare.Engine.Database.Register(String path, ScriptDatabaseInformation dbinfo, Options options)
at #G3c.#L3c.#t.#u3.#i4c()
at #oEc.#7Jf.#hKf(ICancellableOperationStatus status, ICancellable database, Action action)
at #oEc.#7Jf.#t.#B3.#sKf()
at #oEc.#7Jf.#gKf(Action action)
--- End of inner exception stack trace ---

Server stack trace:
bei #oEc.#7Jf.#gKf(Action action)
bei #oEc.#7Jf.#jKf(ICancellableOperationStatus status, ICancellable database, Action action)
bei #G3c.#L3c.#e4c(String path, #M3c args)
bei #G3c.#K3c.#83c(String path, TArg argument)
bei #G3c.#L3c.#f6c(String path, ScriptDatabaseInformation folderOptions, Options options, ICancellableOperationStatus status)
bei #oEc.#i7c.#t.#9Jf.#t.#2Db.#TSi()
bei RedGate.SQLSourceControl.Engine.Cancellables.CancellableOperation.#t.#izb.#j5f()
bei System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
bei System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(RuntimeMethodHandle md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
bei System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink)

Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.EndInvokeHelper(Message reqMsg, Boolean bProxyCase)
at System.Runtime.Remoting.Proxies.RemotingProxy.Invoke(Object NotUsed, MessageData& msgData)
at RedGate.SQLSourceControl.Engine.Action.EndInvoke(IAsyncResult result)
at RedGate.SQLSourceControl.Engine.Cancellables.CancellableOperation.#zIc(ICancellableOperationStatus status, Pair`2[] labelledActions)
at #oEc.#i7c.#t.#9Jf.#SSi()
at #oEc.#7Jf.#t.#9Jf.#uKf()
at #oEc.#7Jf.#hKf(ICancellableOperationStatus status, ICancellable database, Action action)
at #oEc.#7Jf.#lKf[T](ICancellableOperationStatus status, ICancellable database, Func`1 function)
at #oEc.#i7c.#QSi[TDiffType](ICancellableOperationStatus status, IReadOnlySourceControlServerCallBacks sourceControlUserCallBacks, ScriptDatabaseInformation folderOptions)
at #oEc.#i7c.#t.#z2.#hOi()
at #oEc.#i7c.#bOi[TDiffType](ICancellableOperationStatus status, Func`1 innerBuild)
at #oEc.#i7c.#q1f(ICancellableOperationStatus status, IReadOnlySourceControlServerCallBacks sourceControlUserCallBacks, ScriptDatabaseInformation folderOptions)
at #oEc.#4Ec.#z7c(ICancellableOperationStatus status, IReadOnlySourceControlServerCallBacks sourceControlUserCallBacks)
at #oEc.#4Ec.#7Jc(ICancellableOperationStatus status, IReadOnlySourceControlServerCallBacks sourceControlUserCallBacks)
at #oEc.#4Ec.#t.#A2.#D7c(ICancellableOperationStatus status)
at #eEc.#iEc.#t.#u3.#k5f()
at RedGate.SQLSourceControl.Engine.Cancellables.CancellableOperationBase.InvokeWithTracker(Action action)
at #eEc.#iEc.Invoke()
at #JLc.#Qlg.Invoke()
at #JLc.#PLc.#t.#Jfb.#EJf()
at RedGate.SQLSourceControl.Engine.SmartAssembly.ExceptionReporting.ErrorReporterBase.Do(Action toDo, Predicate`1 shouldReportPredicate, Boolean rethrow)
at RedGate.SQLSourceControl.Engine.SmartAssembly.ExceptionReporting.ErrorReporterBase.DoWithObviousExceptionsRethrowAll(Action action)
at RedGate.SQLSourceControl.CommonUI.Forms.ErrorDialog.DoWithObviousExceptionsRethrowAll(Action action)
at #JLc.#PLc.#CTc(ICancellableOperation`1 operation, Object token)
peter eh
 
Posts: 10
Joined: Thu Jul 22, 2010 4:32 pm

Still didn't work

Postby sherr » Fri Jul 23, 2010 10:55 am

Hello Peter,

We're going to have to continue to look into this to get you up and running. I created an issue for us to address this. Our Internal Reference Number is SOC-1348.
Thank you!
Stephanie M. Herr :-)
Delivery Product Manager
sherr
 
Posts: 126
Joined: Thu Mar 19, 2009 12:45 pm
Location: Cambridge

workaround for those with less clr objects

Postby peter eh » Fri Jul 23, 2010 12:35 pm

After testing around a little bit, here's a workaround for those with less clr objects. Not only the assemblies must be left unchecked. All clr objects (stored procedures, functions, triggers, ... ) that are created with assemblies must be unchecked, deleted/moved away from the svn source safe path.

Due to the large number of databases and database objects (tsql and clr) per database that we design, develop, maintain, manage, ... we stop now evaluating RG Source Control until we get a fix that solves this problem and lets us keep our existing svn history on clr objects.

Peter
peter eh
 
Posts: 10
Joined: Thu Jul 22, 2010 4:32 pm

Workaround for those with less clr objects

Postby sherr » Fri Jul 23, 2010 12:50 pm

Hello Peter,

Thanks for posting this workaround. We'll get in touch when we have imiplemented the assemblies so that you can continue your evaluation.
Thank you!
Stephanie M. Herr :-)
Delivery Product Manager
sherr
 
Posts: 126
Joined: Thu Mar 19, 2009 12:45 pm
Location: Cambridge

EA Fix for 64 bit assemblies

Postby sherr » Thu Aug 19, 2010 1:16 am

We think we have fixed the 64 bit assembly issue. Information on the release is available at http://www.red-gate.com/MessageBoard/vi ... hp?t=11654. It would be great if you could give it a try and let us know if this fixes your 64 bit assembly issue.
Thank you!
Stephanie M. Herr :-)
Delivery Product Manager
sherr
 
Posts: 126
Joined: Thu Mar 19, 2009 12:45 pm
Location: Cambridge

Fix for 64bit assemblies

Postby peter eh » Fri Aug 20, 2010 12:02 pm

So far no more errors with 64bit assemblies. Looks good at first sight :)

Peter
peter eh
 
Posts: 10
Joined: Thu Jul 22, 2010 4:32 pm


Return to SQL Source Control 1

Who is online

Users browsing this forum: No registered users and 1 guest