Where can I get Tridion.ContentManager.Data.ContentManagement DLL? - dll

I want to access "Fields" property for accessing fields of a schema in core services in SDL Tridion but Visual Studio says I am missing an assembly reference.
I searched for namespace and it requires Tridion.ContentManager.Data.ContentManagement DLL. Where can I find this DLL?

There's no Fields property on CoreService. If you see it - you probably have mixed references to TOM.NET and CoreService. You need only reference to CoreService client dll and nothing more. If you wan't to have something similar to Fields implementation - you may take a look at this article: http://code.google.com/p/tridion-practice/wiki/ChangeContentOrMetadata

If you want to have the Tridion.ContentManagement.Data.DLL just do this:
Open cmd from Run
Navigate to C:\Windows\assembly\GAC_MSIL\Tridion.ContentManager.Data\6.1.0.996__ddfc895746e5ee6b>
Copy the file to a folder you want

Related

BizTalk: How to get all dlls from an application?

I would like to build an external app (console application) which inform me for the DLLs versions that are used in an BizTalk application.
Of course with a quick search I find some examples which are use the Microsoft.BizTalk.ExplorerOM DLL,
but these examples shows only the DLLs that exist in [BizTalk_Local_MgmtDb].[dbo].[bts_assembly] table which when I see them in BizTalk health monitor they have type System.BizTalk:BizTalkAssembly.
I would like also to add in my app (Console application) the DLLs of type System.BizTalk:Assembly which for example can be a helper class which are not listed by Microsoft.BizTalk.ExplorerOM because, I guess, they not exist in [BizTalk_Local_MgmtDb].[dbo].[bts_assembly] table
Have someone any idea how I can achieve what I want?
I found them, these assembles exists in managmentDB in table [BizTalk_Local_MgmtDb].[dbo].[adpl_sat]
So if I understand the question correctly:
You are creating a utility console application, which uses "Microsoft.BizTalk.ExplorerOM". And your "helper class Assembly" is not being listed in your "Console application" because it is not of type "System.BizTalk:BizTalkAssembly".
I'm afraid that you won't be able to do so, as you can't add a class library as "System.BizTalk:BizTalkAssembly". Here is the error we get when try to do so:
You can make try using "System.Reflection".
For your components to be considered as BizTalk Artefacts, your project should be .btproj
Then deploy your components same way you deploy your biztalk applications.

Add a reference to the System.IdentityModel.Tokens DLL

How do I add a reference to the System.IdentityModel.Tokens dll?
It does not seem to come up in the Nuget Package Manager.
Do I need to download the DLL?
I have .Net 4.5 installed.
The following code will not compile without the reference:
SessionSecurityToken sst = e.SessionToken;
It does exist on NuGet, and was last published 2013-02-08, so I don't understand why you couldn't find it. Try searching for System.IdentityModel.Tokens.ValidatingIssuerNameRegistry.
The best way is to install it is using the NuGet packet manager.
You can find the package here:
https://www.nuget.org/packages/System.IdentityModel.Tokens.ValidatingIssuerNameRegistry/4.5.0
In your solution, right click the References folder and choose "Add Reference"
From the Assemblies->Framework (.NET 4.5) list, select (check) System.IdentityModel and the press ok.
Add the using statement to the top of your class - using System.IdentityModel.Tokens;
In case it helps someone else.
Depending on what class you need you may also need reference to
System.IdentityModel.Tokens.ValidatingIssuerNameRegistry.dll
This may not be obvious as it may be implicitly required by specific element in web.config file and not explicitly required in code.

How to find COM object given only server.create instance?

I have inherited a classic ASP application and looking through the code I see a custom COM object reference
Server.CreateObject("DBaseManager.Recordset")
Now, unfortunately looking through to source code there are no .dlls provided so therefore the COM dll must still exist on the live server.
In order to get the code working on my Dev Server I need to get a copy of the dll so I can register it on my Dev server.
Does anyone have any recommendations about how I might be able to find the COM dll that makes the above call?
Thanks and best wishes
Mark
Registry search - under HKEY_CLASSES_ROOT, locate the DBaseManager.Recordset key. Under that key, there should be a CLSID key, with a default value containing a guid.
Now, search for that guid under HKEY_CLASSES_ROOT\CLSID. There should be a subkey under that key called InprocServer32 (if it's an in-process COM library), which in turn should have a default value giving the path to the DLL.
Of course, if the DLL in question is part of a larger product or SDK, merely installing the dll on your dev server may not be sufficient. You may have to locate and install the whole product/SDK in order for it to actually work on another machine.

webBrowser failure. Migration VB6 to VB.Net. ExecWB and QueryStatusMethod failure

I want to migrate an application from VB6.0 to VB.net.
I migrate it myself and get an error on this two lines. The error says "ExecWB is not a member of System.Windows.Forms.WebBrowser"!!The same error with the ExecWB Method. I dont find any solution or any equivalent code in .net for that. Do I need an imprt or reference or equivalent type?
Please help.
eQuery = webBrowser.QueryStatusWB(SHDocVw.OLECMDID.OLECMDID_COPY)
webBrowser.ExecWB(SHDocVw.OLECMDID.OLECMDID_PAGESETUP,
SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT, Nothing, Nothing)
webBrowser?
Thank you
There are two different WebBrowser things, the WebBrowser Object and the WebBrowser Control. The object is the ActiveX version that you were using in VB6 while the control was completely redesigned to follow .Net standards. While there may be some common methods, properties and events between the two they are not really related.
You can continue to use the ActiveX version in .Net just fine if you want. You'll need to add a reference to it either via the Add References menu or by adding the Microsoft Web Browser object to your toolbox. If you want to use the .Net version then you'll need to find the updated way to do your specific tasks.
A 30s Google search returned this article that suggests you can use late binding on the ActiveXInstance property to access the methods directly.
Note that this method is marked as "infrastructure use only" and may well be subject to change/removal, etc at a later date.

EntLib 5 Wrap Handler Message Localization

I have been asked, at very short notice of course, to implement exception logging to the Windows Application event Log in one of our products (vb.Net, framework 3.5, WinForms) using EntLib 5. In and of itself this is fine - I can get that working. However, this is for a client who wants messages in Chinese. Certain parts of the app have language resource files and I found a couple of sentences in my MS EntLib Developers Guide book which suggested that I could use an external resource to provide a localised 'friendly' message in a wrap handler within the Exception Handling Block.
Unfortunately there was no mention of how to actually achieve this but it seemed straightforward enough. I added a new resource to a resx file which lives at the project level for the project which is common to all areas of the application and re-built to project so that the satellite assemblies were built. I then specified the name of the resource in the 'Message Resource Name' field within the EntLib configuration console. the problem arises when I try and specify the 'Message Resource Type'.
I clicked on the search button and found the satellite assembly I needed, but it did not get added to the list of loaded assemblies and therefore I couldn't select it. The problem is that none of the places where I've seen this feature mentioned actually demonstrate how to get it working so I'm not sure where I'm going wrong. The search for the assembly will only let me select a dll or exe so I assume I am supposed to reference the satellite assembly somehow but how do I do this if it won't add it to the list of loaded assemblies?
One point to note is that we have a main executable which then calls numerous class libraries to load areas of functionality as required, and the config file we use throughout is the one which belongs to the main executable. Is it the case that you can only use satellite assemblies which are related to the assembly that the config file belongs to?
I haven't yet fully utilized this feature yet but just something to check, are you using the fully qualified name of the assembly?
EDIT: A potentially applicable link - http://entlib.codeplex.com/discussions/67460