using System.Reflection;
using Autodesk.Revit.Attributes;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using Autodesk.Revit.UI.Selection;
using Nice3point.Revit.Toolkit.External;
namespace Szmedi.RvKits.InfoManager.EAMTools
{
///
/// Revit执行命令
///
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
public class EAMFacilityCodeCmd : ExternalCommand
{
public override void Execute()
{
AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;
WinDialogAssists.ShowOrActivate();
}
public static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{
var dllName = args.Name.Split(',')[0];
var collection = Directory.GetFiles(GlobalVariables.DirAssembly, "*.dll", SearchOption.AllDirectories);
foreach (var f in collection)
{
if (Path.GetFileNameWithoutExtension(f) == dllName)
{
return Assembly.LoadFrom(f);
}
}
return null;
}
}
}