Это происходит, когда что-то звонит прерывание () на потоке. Эта статья Brian Goetz объясняет механизм прерывания и как необходимо обработать InterruptedExceptions:
"Наиболее распространенный ответ на InterruptedException должен глотать, это - ловит его и ничего не делает (или возможно регистрирует его, который не является немного лучше) - как мы будем видеть позже в Списке 4. К сожалению, этот подход выбрасывает важную информацию о том, что прерывание произошло, который мог поставить под угрозу способность приложения отменить операции или закрыться своевременно".
, "Если Вы ловите InterruptedException, но не можете повторно бросить его, необходимо сохранить доказательство, что прерывание произошло [...]. Эта задача выполняется путем вызова прерывания (), чтобы "повторно прервать" текущий поток".
Вы должны поместить эти строки подключения в каждый файл приложения app.config. Если у вас есть DAL, в котором вы сгенерировали модель, а затем попытаетесь использовать DAL в EXE, произойдет то же самое. EXE не знает строку подключения.
Самое простое, что я нашел, - это поместить app.config в каждый проект и просто скопировать строку подключения из DAL, в котором я сгенерировал модели изначально. Тогда у каждого будет копия той же строки подключения.
Я добавляю такую же проблему, пытаясь установить мою далу. Я обнаружил, что это работает:
<add name="SalesEntities" connectionString="metadata=res://*;provider=System.Data.SqlClient;provider connection string="Data Source=.;Initial Catalog=Phoenix;Integrated Security=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
У меня была похожая проблема с проектом WinForms, и несмотря на то, что я перепробовал все, что мог найти в Интернете, связанное с этим, я не смог решить свою проблему....., пока не удалил поле, которое я использовал для ObjectContext (private CubEntities _oc = new CubEntities()) из моей BaseForm в реальную форму, использующую его.
Если вы скопируете файл App.Config
в основной проект и замените все "
обычным символом '
, он должен запустить