After installing .NET 4.0, I am now getting an exception on this statement:
if (mainForm.versionNumber.Contains("BETA"))
This is how versionNumber is defined:
public static string versionNumber = "1.1.1 " + compileDate.ToString("dd-MMM-yyyy");
and the run-time errorr is «TypeInitializationException». What changed from .NET v3.5 to 4.0 that would cause this? And how do I fix it?
UPDATE: here is the exception detail:
> System.TypeInitializationException was unhandled Message=The type
> initializer for 'Media_Inventory_Manager.mainForm' threw an exception.
> Source=PragerMediaInventoryManager
> TypeName=Media_Inventory_Manager.mainForm StackTrace:
> at Media_Inventory_Manager.Prager.Main() in D:Prager SoftwareMedia Inventory ManagerProgram.cs:line 36
> at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
> at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
> at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
> at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
> at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
> at System.Threading.ThreadHelper.ThreadStart() InnerException: System.FormatException
> Message=The string was not recognized as a valid DateTime. There is a unknown word starting at index 0.
> Source=mscorlib
> StackTrace:
> at System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles)
> at System.DateTime.Parse(String s, IFormatProvider provider)
> at Media_Inventory_Manager.mainForm..cctor() in D:Prager SoftwareMedia Inventory ManagerMain Form.cs:line 38
> InnerException:
After installing .NET 4.0, I am now getting an exception on this statement:
if (mainForm.versionNumber.Contains("BETA"))
This is how versionNumber is defined:
public static string versionNumber = "1.1.1 " + compileDate.ToString("dd-MMM-yyyy");
and the run-time errorr is «TypeInitializationException». What changed from .NET v3.5 to 4.0 that would cause this? And how do I fix it?
UPDATE: here is the exception detail:
> System.TypeInitializationException was unhandled Message=The type
> initializer for 'Media_Inventory_Manager.mainForm' threw an exception.
> Source=PragerMediaInventoryManager
> TypeName=Media_Inventory_Manager.mainForm StackTrace:
> at Media_Inventory_Manager.Prager.Main() in D:Prager SoftwareMedia Inventory ManagerProgram.cs:line 36
> at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
> at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
> at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
> at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
> at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
> at System.Threading.ThreadHelper.ThreadStart() InnerException: System.FormatException
> Message=The string was not recognized as a valid DateTime. There is a unknown word starting at index 0.
> Source=mscorlib
> StackTrace:
> at System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles)
> at System.DateTime.Parse(String s, IFormatProvider provider)
> at Media_Inventory_Manager.mainForm..cctor() in D:Prager SoftwareMedia Inventory ManagerMain Form.cs:line 38
> InnerException:
|
Alexandr_7 46 / 20 / 5 Регистрация: 29.12.2015 Сообщений: 1,771 |
||||
|
1 |
||||
Инициализатор типа «» выдал исключение. Не могу найти причину проблемы04.05.2019, 18:49. Показов 19743. Ответов 3 Метки нет (Все метки)
Здравствуйте. Код System.TypeInitializationException: "Инициализатор типа "AL7_Play_Sega_Games.src.AL7_SClassAd" выдал исключение." ArgumentNullException: Значение не может быть неопределенным. Имя параметра: contents Проблема в том что куда бы я не поставил точку останова в модуле AL7_SClassAd она не действует. Такое чувство что исключение случается сразу как я вызываю метод. Вот код метода:
Помогите решить проблему
__________________
0 |
|
46 / 20 / 5 Регистрация: 29.12.2015 Сообщений: 1,771 |
|
|
04.05.2019, 18:55 [ТС] |
2 |
|
Так. Решил проблему. Я пытался сохранить массив строк которому присвоенно null А определил я это так. Просто инициализатор библиотеки был у меня прям в статическом классе. Я это вынес в отдельный метод и тогда уже смог определить что ошибка находится в библиотеке. Ну и дальше догадался почему.
0 |
|
6266 / 3894 / 1567 Регистрация: 09.05.2015 Сообщений: 9,186 |
|
|
04.05.2019, 19:02 |
3 |
|
Обычно в InnerException видно где конкретно ошибка.
0 |
|
16742 / 12494 / 3285 Регистрация: 17.09.2011 Сообщений: 20,722 |
|
|
04.05.2019, 23:34 |
4 |
|
какого фига C# не может показать на ошибку если она происходит в другой библиотеке C#-то здесь при чем?
1 |
Я вижу три строки, которые могут быть виновниками:
Public Shared sConnection As String = ConfigurationManager.ConnectionStrings("SerialStamperConnectionString").ConnectionString
Здесь есть несколько потенциальных проблем. Во-первых, ваше имя строки подключения («SerialStamperConnectionString») неверно. Если это имя не совпадает с ключом в web.config, то будет возвращено Nothing, вызывая исключение NullReferenceException при попытке получить значение ConnectionString имущество.
Public Shared oConnection As New MySqlClient.MySqlConnection(sConnection)
Возможно, указанная выше строка подключения неправильно настроена в файле web.config, поэтому возвращается Nothing как ConnectionString. Если для sConnection установлено значение Nothing, вполне возможно, что в моем конструкторе MysqlConnection может быть выброшено исключение NullReferenceException.
Dim Response As New HttpResponse(HttpWriter.Null)
If HttpWriter.Null is Nothing то это также может быть источником вашей проблемы (по той же причине, что и выше).
Если ни одно из этих предложений не вызывает проблемы, я бы предложил опубликовать дополнительную информацию о вашей проблеме (включая трассировку стека). Предложение миллиона очков репутации не даст нам никакой дополнительной информации о вашем коде.
ДОПОЛНЕНИЕ
Согласно документации VB по общим конструкторам (и, соответственно, членам):
Точное время запуска общих конструкторов в основном зависит от реализации, хотя предоставляется несколько гарантий, если общий конструктор определен явно:
- Общие конструкторы запускаются перед созданием любого экземпляра типа класса.
- Общие конструкторы запускаются перед доступом к любым членам экземпляра типа структуры или перед явным вызовом любого конструктора типа структуры. Вызов неявного конструктора без параметров, созданного для структур, не приведет к запуску общего конструктора.
- Общие конструкторы запускаются до ссылки на любой из общих членов типа.
- Общие конструкторы запускаются перед загрузкой любых типов, производных от этого типа.
- Общий конструктор не будет запускаться более одного раза во время одного выполнения программы.
9.3.2 Общие конструкторы
Вам может оказаться полезным создать конструктор Shared, в котором можно инициализировать ваши общие поля:
Public Shared sConnection As String
Public Shared oConnection As MySqlClient.MySqlConnection
Shared Sub New()
Dim l_connectionString = ConfigurationManager.ConnectionStrings("SerialStamperConnectionString")
If l_connectionString IsNot Nothing Then
sConnection = l_connectionString.ConnectionString
oConnection = New MySqlClient.MySqlConnection(sConnection)
Else
' What to do here?
End If
End Sub
Скорее всего, это не решит вашу проблему, но может облегчить поиск и обработку (пустая строка и т. д.).
When I try to run my tests I get TypeInitializationException.
The piece of code;
var moc = new Mock<ITankBatteryUnitOfWorkProvider>(); moc.Setup(s => s.GetUnitOfWork()).Returns(() => null); <-- Here
Exception:
OneTimeSetUp: System.TypeInitializationException : Инициализатор типа "HMI.Test.Report.AbsReportJobTest" выдал исключение. ----> System.TypeInitializationException : Инициализатор типа "Moq.ProxyFactory" выдал исключение. ----> System.TypeInitializationException : Инициализатор типа "Moq.CastleProxyFactory" выдал исключение. ----> System.IO.FileLoadException : Не удалось загрузить файл или сборку "Castle.Core, Version=4.1.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc" либо одну из их зависимостей. Найденное определение манифеста сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040) ----> System.IO.FileLoadException : Не удалось загрузить файл или сборку "Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc" либо одну из их зависимостей. Найденное определение манифеста сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040) Exception doesn't have a stacktrace
Moq 4.8.2
Castle.Core 4.2.1
Thank you!
Требуется подключить базу данных, чтобы была возможность пользоваться программой и с другого компьютера. Нужно проверять имя пользователя и пароль с данными из бд. Однако появляется ошибка:
Необработанное исключение типа «System.TypeInitializationException» в System.Data.dll».
Как исправить?
string dirPath = new FileInfo($"{Assembly.GetAssembly(GetType()).Location}").DirectoryName;
string dbName = "login_database.mdf";
string connectionString = $@"Data Source=(LocalDB)MSSQLLocalDB;AttachDbFilename={dirPath}{dbName};Integrated Security=True";
SqlDataAdapter sda = new SqlDataAdapter("select * from Table_dict where user='"+text_login.Text+"'and password ='"+text_pass.Text+"'", connectionString);
DataTable dt = new DataTable();
sda.Fill(dt);
if (string.IsNullOrEmpty(text_login.Text))
{
MessageBox.Show("Пожалуйста, введите логин и пароль!", "Message", MessageBoxButtons.OK, MessageBoxIcon.Warning);
text_login.Focus();
return;
}
try
if(dt.Rows.Count==1)
{
main m = new main();
m.Show();
}
else
{
MessageBox.Show("Пожалуйста, проверьте правильность написания логина и пароля.");
}
}
catch (Exception EX)
{
MessageBox.Show(EX.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
}}
Message=Инициализатор типа «System.Data.SqlClient.SqlConnection» выдал исключение.
Source=System.Data
TypeName=System.Data.SqlClient.SqlConnection
Message=Инициализатор типа «System.Data.SqlClient.SqlConnectionFactory» выдал исключение.
Source=System.Data
BareMessage=Система конфигурации не прошла инициализацию
Вероятнее всего, ошибка в App.config. Строка подключения :
<system.data>
<DbProviderFactories>
<clear />
<add name="SQL Data Provider" invariant="Sql.Data.SqlClient"
description=".Net Framework Data Provider for SQL"
type="Sql.Data.SqlClient.SqlClientFactory, Sql.Data,
Version=6.4.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
Проблема
При попытке запустить надстройку Point Layout в Revit появляется сообщение об ошибке.
- Ошибки могут возникать при нажатии кнопки «Получить лицензию» или при экспорте точек.
Ошибка (для продолжения необходимо выполнить ознакомление):
Инициализатор типа для ‘<модуль>’ бросил исключение.
Ошибка 1
При нажатии на вкладку «Подробности», когда появляется запрос «Ошибка необрабатываемого исключения», отображается следующее сообщение:
System.IO.FileLoadException: Не удалось загрузить файл или сборку GTPS_Utils& или одну из зависимостей. Недопустимый указатель (исключение из HRESULT: 0x80004003 (E_POINTER) —> System.NullReferenceException: Не указана ссылка на экземпляр объекта. at Stabiplan.ExportExcel.Client.UserinterfaceLayer.Platform.RVExportExcelApplication.HandleAssemblyResolve(Object sender, ResolveEventArgs) at System.AppDomain.OnAssemblyResolveEvent(RuntimeAssembly, String assemblyFullName)
Причины
Надстройка блокирует работу функции компоновки точек.
Решение
Для устранения этой проблемы удалите надстройку, которая вызывает ошибку.
- Известные надстройки, о которых мы сообщали:
- Средства повышения производительности
- Запущены надстройки для экспорта и импорта Excel от компании Trimble
- Синоним термина «шкаф»
- Компоненты MEP: электрические схемы
- Компоненты MEP: проемы для MEP
- Компоненты MEP: экспорт и импорт в Excel
Определение надстройки, которая вызывает ошибку
- Переместите все надстройки в папку надстройки Point Layout во временную папку на компьютере.
- Добавьте одну надстройку обратно в папку надстроек.
- Перезапустите Revit и попробуйте получить лицензию.
- Повторите операцию для надстройки, пока ошибка не появится снова.
Продукты
Revit; Макет точки;
В проекте WPF был такой случай. Моя проблема была на следующей строке:
DataTable myTable = FillTable(strMySqlQuery);
Где FillTable() возвращает DataTable на основе строки запроса SQL. Если бы я сделал опцию «исключение копирования в буфер обмена», я думаю, что она была, и вклеена в «Блокнот», я мог видеть сообщение. Для меня это было The input is not a valid Base-64 string as it contains a non-base 64 character.
Моя фактическая проблема заключалась не в том, что в строке запроса было что-то, чего не должно было быть, как я думал, потому что string strMySqlQuery = "SELECT * FROM My_Table" была моей строкой и считала, что это может быть * или _, но фактическая проблема была в FillTable(), где у меня был вызов другой функции, GetConnection(), которая вернула объект OracleConnection, чтобы открыть его и получить и вернуть DataTable. Внутри GetConnection() я получал параметры app.config для моей строки подключения, и у меня было одно из них, поэтому оно устанавливало значение null для пароля учетной записи службы и не делало соединение с БД. Так что не всегда, где ошибка в точности соответствует всем обстоятельствам. Лучше всего погрузиться в функцию, где ошибка, и отлаживать шаг за шагом, и обеспечить, чтобы все значения заполнялись тем, что вы ожидаете.
Всем привет, столкнулся с такой проблемой при запуске ЦА шарика
выскакивает вот такое сообщение:
Ошибка выполнения
Описание: На сервере возникла ошибка приложения. Текущая особая настройка ошибок для этого приложения не позволяет отобразить сведения об ошибке данного приложения.
Сведения: Для разрешения просмотра сведений данного сообщения об ошибке на локальном сервере создайте тег <customErrors> в файле конфигурации «web.config», который находится в корневом каталоге текущего веб-приложения.
В теге <customErrors> следует задать атрибут «mode» со значением «RemoteOnly». Для разрешения просмотра сведений об ошибке на удаленных компьютерах задайте для «mode» значение «Off».
<!-- Файл конфигурации Web.Config -->
<configuration>
<system.web>
<customErrors mode="RemoteOnly"/>
</system.web>
</configuration>
Примечания: Отображаемую в данный момент страницу ошибок можно заменить на пользовательскую страницу ошибок, изменив атрибут «defaultRedirect» тега конфигурации <customErrors> приложения
таким образом, чтобы он содержал URL-адрес пользовательской страницы ошибок.
<!-- Файл конфигурации Web.Config -->
<configuration>
<system.web>
<customErrors mode="On" defaultRedirect="mycustompage.htm"/>
</system.web>
</configuration>
перед тем как данная проблема появилась пытался исправить ошибку : Kerberos Event ID 4
Клиент Kerberos получил ошибку KRB_AP_ERR_MODIFIED с сервера spb-srv-sp02$. Использовалось целевое имя HTTP/spb-srv-sp02.домен.ru. Это означает, что целевому серверу не удалось расшифровать билет, предоставленный клиентом. Это возможно,
когда целевое SPN-имя зарегистрировано на учетную запись, отличную от учетной записи, используемой конечной службой. Убедитесь, что целевое SPN-имя зарегистрировано только на учетную запись, используемую сервером. Эта ошибка также
может возникать, если пароль целевой службы отличается от пароля, заданного для нее в центре распространения ключей Kerberos. Убедитесь, что пароли в службе на сервере и в центре распространения ключей совпадают. Если имя сервера задано не полностью
и конечный домен (домен.RU) отличается от домена клиента (домен.RU), проверьте эти два домена на наличие учетных записей серверов с одинаковыми именами или используйте для идентификации сервера полное имя.
следывал по инструкции:
https://support.microsoft.com/ru-ru/help/832769/how-to-configure-a-windows-sharepoint-services-virtual-server-to-use-kerberos-and-ntlm-authentication
cscript adsutil.vbs set w3svc/1/root/NTAuthenticationProviders «Negotiate,NTLM»
После применения этой команды перестал запускаться ЦА… подскажите как исправить как
запустить ЦА???
