Когда я пытаюсь осмотреть DataSet стандартным DataSet visualizer, я вижу, что эта ошибка "не могла загрузить это пользовательское средство просмотра". Я записал простой набор данных visualizer, но ошибочные броски так или иначе также.
На других компьютерах с той же конфигурацией visualizer показывают без любых ошибок.
ОС: Windows 7 x86 (Release)
VS: RC Visual Studio 2010
у кого-то есть какие-либо идеи?
Я переустанавливаю VS без эффекта.
Я нашел обходной путь! Я изменил исходный код модуля DevExpress и перекомпилировал его. После этого я отменяю параметр NetFx40_LegacySecurityPolicy enabled = "false" и наслаждаюсь. :)
Файл: "% DeveloperExpress.NET% \ Sources \ DevExpress.Data \ Utils \ Security.cs"
using System;
using System.Security;
using System.Security.Permissions;
namespace DevExpress.Data.Helpers {
public static class SecurityHelper {
public static bool IsPartialTrust {
get {
return !IsPermissionGranted(new ReflectionPermission(ReflectionPermissionFlag.MemberAccess));
}
}
public static bool IsPermissionGranted(IPermission permission) {
bool result = true;
/* (changed by Lion)
try {
PermissionSet ps = SecurityManager.ResolvePolicy((System.Security.Policy.Evidence)null);
ps = ps.Copy();
ps.AddPermission(permission);
ps.Demand();
}
catch (SecurityException) {
result = false;
}
*/
return result;
}
}
}
Лучший способ диагностировать это - отладить саму Visual Studio. Попробуйте следующее
Это должен вызвать исключение, которое затем появится во втором экземпляре Visual Studio. Отправьте ответ с этой информацией, если ее недостаточно для решения вашей проблемы.
Я нашел причину этой ошибки. Согласно этому совету http://go.microsoft.com/fwlink/?LinkID=155570 Я добавляю в devenv.exe.config этот параметр NetFx40_LegacySecurityPolicy enabled = "true" , и с этим параметром в файле .config возникает ошибка при попытке открыть визуализатор DataSet.
Когда я удалил этот параметр, все стало нормально. Выполнение «Состояние безопасности AppDomain было изменено AppDomainManager, настроенным с флагом NoSecurityChanges», также исправлено.
Но мне НУЖЕН параметр NetFx40_LegacySecurityPolicy enabled = "true" для работы со старыми проектами.