Я немного искал и ничего полезного не нашел, вот и я.
Я написал приложение на C # (любой параметр ЦП), которое работало на Windows 7 и XP x86 для некоторыхвремя без ошибок.
Недавно мой офис обновил мою рабочую станцию до Windows 7 x64 (с x86).
Когда я запускаю свое приложение в Visual Studio 2010, я не получаю ошибок при запуске или компиляциивремя.Он работает как задумано.
Моя версия VS2010 - 10.0.30319.1 RTMRel из нашей подписки MSDN, Framework - 4.0.30319 RTMRel
Когда я запускаю свое скомпилированное приложение напрямую, я получаю ошибку, когда сSqlConnection объект.Не имеет значения, если я выбираю ЛЮБОЙ ЦП или x86, возникают те же ошибки.
В моем файле класса это процедура:
public static SqlConnection getDBConnection()
{
SqlConnection sqlConn = null;
try
{
sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["KpH2Oprod"].ConnectionString);
sqlConn.Open();
}
catch
{
throw;
}
finally
{
if (sqlConn == null)
{
sqlConn.Dispose();
}
}
return sqlConn;
}
При некотором ручном отслеживании я обнаружил, что ошибка была выброшенане после SqlConnection sqlConn = null;
, когда он впервые был создан, но когда я на самом деле установил его в строке:
sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["KpH2Oprod"].ConnectionString);
Я изменил эту строку на:
sqlConn = new SqlConnection();
sqlConn.ConnectionString = ConfigurationManager.ConnectionStrings["KpH2Oprod"].ConnectionString;
, чтобы увидеть, было ли этоSqlConnection или Configuration Manager, и он действительно выдает строку sqlConn = new SqlConnection();
.Фактически, это был способ, которым я начал и изменил его на предыдущий, независимо от того, оба сгенерировали ошибку при использовании новой директивы.
Фактическое сообщение об ошибке, которое я получаю, (часть из которых является моим собственным сообщением):
Я полагаю, что это может быть связано с тем, как регистрируется объект SQL, но сообщение усекается в центре первых нескольких строк (не в моем случае), которые указывают на то, что параметр g равен нулю.Опять же, это работает в отладчике без нареканий.
RunTimeError :
Value cannot be null.
Parameter name: g
at System.Guid..ctor(String g)
at kpH2O.frmMain..ctor() (mscorlib)
ACTION :
UPDATEINCIDENT ()
PROGRESS :
WORKING ()
RunTimeError :
Object reference not set to an instance of an object.
at kpH2O.db.getDBConnection()
at kpH2O.db.getIncidentIDFromNumber(String incidentNumber)
at kpH2O.frmMain.updateHeatIncident() (kpH2O)
ERROR :
Process UPDATEINCIDENT: FAILED (doStartUp)
Это стандартная установка VS2010 без каких-либо дополнений.Любая помощь приветствуется.