У меня есть проект под названием InversionOfControl
. Этот проект имеет класс под названием IOC
. Это выглядит так:Тип «InversionOfControl.IOC» существует как в «InversionOfControl.dll», так и «InversionOfControl.dll»
/// <summary>
/// This class is used to expose the unity container to the application.
/// </summary>
public class IOC
{
/// <summary>
/// The actual unity container for the app.
/// </summary>
public static IUnityContainer Container { get; set; }
}
Все мои проекты, которые нужно разрешать вложения единства, имеют ссылку на этот класс. В последнее время я начал получать эту ошибку:
Value cannot be null.
Parameter name: container
на нормальных решает:
ITransmitModel transmitModel = IOC.Container.Resolve<ITransmitModel>();
Когда я пытаюсь осмотреть IOC.Container
, значение в окне просмотра является:
The type 'InversionOfControl.IOC' exists in both 'InversionOfControl.dll' and 'InversionOfControl.dll'
У меня есть посмотрел в моей выходной папке, и есть только один файл InversionOfControl.dll. (Я даже очистил свое решение и дважды проверил, что папка пуста, после чего я перестроил и снова проверил, что есть только один.)
Почему это думает, что есть две DLL, называемые InversionOfControl.dll?
Оказывается, у меня есть два загруженных в моем модуле вида. Оба находятся в разделе «Временные файлы ASP.NET». Любая идея, как это могло случиться? – Vaccano
Проверить версии - вы можете загрузить несколько сильно названных сборок (с разными версиями). Тот же вид показывает это где-то. –