@ -12,6 +12,7 @@ using System.Collections.Specialized;
@@ -12,6 +12,7 @@ using System.Collections.Specialized;
using System.Drawing ;
using System.ComponentModel ;
using System.ComponentModel.Design ;
using ICSharpCode.Core ;
namespace ICSharpCode.FormDesigner.Services
{
@ -51,6 +52,9 @@ namespace ICSharpCode.FormDesigner.Services
@@ -51,6 +52,9 @@ namespace ICSharpCode.FormDesigner.Services
if ( name = = null | | name . Length = = 0 ) {
return null ;
}
if ( IgnoreType ( name ) ) {
return null ;
}
try {
Assembly lastAssembly = null ;
foreach ( Assembly asm in AppDomain . CurrentDomain . GetAssemblies ( ) ) {
@ -97,5 +101,23 @@ namespace ICSharpCode.FormDesigner.Services
@@ -97,5 +101,23 @@ namespace ICSharpCode.FormDesigner.Services
{
ICSharpCode . Core . LoggingService . Warn ( "TODO: Add Assembly reference : " + name ) ;
}
/// <summary>
/// HACK - Ignore any requests for types from the Microsoft.VSDesigner
/// assembly. There are smart tag problems if data adapter
/// designers are used from this assembly.
/// </summary>
bool IgnoreType ( string name )
{
int idx = name . IndexOf ( "," ) ;
if ( idx > 0 ) {
string [ ] splitName = name . Split ( ',' ) ;
string assemblyName = splitName [ 1 ] . Substring ( 1 ) ;
if ( assemblyName = = "Microsoft.VSDesigner" ) {
return true ;
}
}
return false ;
}
}
}