Assembly assembly = Assembly.LoadFrom("Logic\\bin\\Debug\\Logic.dll");
Type queryManagerType = assembly.GetType("Logic." + HttpContext.Current.Session["lang_name"] + "SearchQueryManager");
var queryManager = (ISearchQueryManager)Activator.CreateInstance(queryManagerType);
public interface ISearchQueryManager
{
IList<Advertisements> ApplyQueries(string searchQuery, int page, int pageSize, string orderBy, out int count);
}
public class SlovenianSearchQueryManager : ISearchQueryManager
{
...
}
pero me daproblema elenco de la clase a la interfaz
No se puede convertir objeto de tipo 'Logic.SlovenianSearchQueryManager' al tipo 'Logic.ISearchQueryManager'.
EDIT: StackTrace toda
System.InvalidCastException era no controlada por el código de usuario
mensaje = "No se puede convertir objeto de tipo 'Logic.SlovenianSearchQueryManager' a tipo 'Logic.ISearchQueryManager'"
Fuente = "ViaMura.Web.Module"
StackTrace: en ViaMura.Web.Module.WebController.GetAdvertismentsByRawQuery (String rawQuery, página Int32, Int32 pageSize, cadena orderBy, Int32 & recuento) en D: \ PROJEKTI \ crawler \ WebCrawlerSuite \ ViaMura.Web.Module \ WebController.cs: línea en ViaMura.Web.Module.Views.SearchResultsPresenter.OnResultsLoad (Int32 página, Int32 pageSize, cadena orderBy) en D: \ PROJEKTI \ crawler \ WebCrawlerSuite \ ViaMura.Web.Module \ Views \ SearchResultsPresenter.cs: línea en ViaMura.Web.Searc hResults.SearchAdvertisments() en D: \ PROJEKTI \ rastreador \ WebCrawlerSuite \ ViaMura.Web \ SearchResults.aspx.cs: línea en ViaMura.Web.SearchResults.Page_Load (Object remitente, EventArgs e) en D : \ PROJEKTI \ crawler \ WebCrawlerSuite \ ViaMura.Web \ SearchResults.aspx.cs: línea 149 en System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp, objeto O, objeto t, EventArgs e) al sistema. Web.Util.CalliEventHandlerDelegateProxy.Callback (Object remitente, EventArgs e) en System.Web.UI.Control.OnLoad (EventArgs e) en ViaMura.Web.App_Code.PageControllers.BasePage.O nLoad (EventArgs e) en D: \ PROJEKTI \ crawler \ WebCrawlerSuite \ ViaMura.Web \ App_Code \ PageControllers \ BasePage.cs: Línea 89 en System.Web.UI.Control.LoadRecursive() en System.Web. UI.Page.ProcessRequestMain (booleano includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
InnerException:
Edit2:
string a1 = typeof (ISearchQueryManager).Assembly.Location;
string a2 = typeof(SlovenianSearchQueryManager).Assembly.Location
me dan el mismo resultado:
C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ root \ 5438a399 \ 53975f83 \ assembly \ dl3 \ 0f9540b5 \ 15407fe2_5db7cb01 \ Lógica.DLL
pero
string a3 = queryManagerType.Assembly.Location;
me da camino diferente:
D: \ PROJEKTI \ crawler \ WebCrawlerSuite \ WebCrawler.Logic \ bin \ Debug \ WebCrawler.Logic.dll
Por favor enviar el seguimiento de pila de excepción completo. Sospecho que tienes esta interfaz 'ISearchQueryManager' definida en dos ensamblajes diferentes. –
@Darin o dos espacios de nombres –