Я создал проект надстройки Word 2007 на C #, который отлично работает на моей коробке и коробке коллеги-разработчика. Когда мы пытаемся развернуть программное обеспечение в пустом окне, Word сильно падает (без исключения), когда мы запускаем фоновый поток.
Вот соответствующий код в файле Ribbon.cs:
private void startThread()
{
StreamWriter fout = new FileInfo("C:\\startThread.txt").CreateText();
fout.WriteLine("startThread start");
fout.Flush();
try {
ThreadStart job = new ThreadStart(this.waitForSignal);
Thread thread = new Thread(job);
thread.Start();
fout.WriteLine("No Exceptions?");
}
catch
{
fout.WriteLine("caught something");
}
fout.WriteLine("startThread end");
fout.Flush();
fout.Close();
}
public void waitForSignal()
{
StreamWriter fout = new FileInfo("C:\\waitForSignal.txt").CreateText();
fout.WriteLine("entered waitForSignal");
fout.Flush();
fout.Close();
}
startThread()
вызывается из конструктора ленты. При запуске на моем компьютере оба файла создаются со всеми строками WriteLines, кроме «что-то поймано». При запуске в другом окне создается startThread.txt, и выводятся все строки, кроме «что-то поймано», но waitForSignal.txt никогда не создается, и появляется сообщение Microsoft «возникла проблема, вы хотите отправить сообщение об ошибке». 1007 *
Я думаю, что есть какая-то проблема безопасности, которая лишает Word возможности запуска новых тем, но я не могу понять, как бы это изменить.
Кто-нибудь знает, действительно ли это проблема, и как мне ее исправить? Или если вы видите что-то еще, что может быть причиной проблемы?