Проект не запустится в режиме отладки

Я использую VS2008, и у меня есть проект, который не запустится, когда я нажму F5 или когда я нажимаю мало зеленого треугольника на панели инструментов. Мерцания экрана однажды, как проект собирается работать, и затем он не делает. Сообщение сборки утверждает, что сборка была успешна, но проект не запустится.

В Менеджере конфигурации, моя 'Активная конфигурация решения': набор должен Отладить, и в 'Контекстах проекта' список, столбец 'Configuration' для моего Проекта установлен Отладить. Я даже переключил их назад и вперед между Отладкой и Выпуском и затем обратно Отлаживать, все без эффекта. Проект, который я пытаюсь выполнить, установлен как 'Проект Запуска' в моем решении.

Если я перехожу к своей \bin\Debug папке и дважды щелкаю по .exe, (который показывает надлежащую метку времени на файле), мое выполнение приложения очень хорошо.

Какие-либо идеи, почему я не могу получить глупую вещь работать в режиме отладки?

Править:
Это - приложение winforms.

Моей версией Visual Studio являются 9.0.30729.1 SP

Платформа.NET: версия 3.5 SP1

Править:

Это может быть связано с TortoiseSVN. Я сохраняю свой исходный код для этого проекта в SVN. Когда я сделаю различный/новый контроль в TortoiseSVN, иногда новый контроль будет затем позволять проекту работать. Я не понимаю на вид неустойчивой природы этой проблемы.

Править:

Не уверенный, если эта информация относится к проблеме, но когда я делаю новый контроль и иметь структуру папок, которая менее глубока (не как много вложенных папок), чем исходный контроль, у меня, кажется, есть лучший шанс проекта, работающего без проблем.

Править: Проблема не имела никакого отношения к TortoiseSVN, см. мой ответ ниже.

9
задан Dan McGrath 8 February 2010 в 10:23
поделиться

3 ответа

ИТ-специалисты выполнили обновление Windows на моем компьютере, и это, по-видимому, устранило проблему. Это как-то связано с System.Runtime.InteropServices.COMException и ошибкой в ​​'Hosting' .dll. Я не уверен, почему поврежденная DLL хоста повлияла на приложение winforms, но проблема устранила.

4
ответ дан 3 November 2019 в 03:47
поделиться

Надо начать с основ ... устранили возможность сбоя во время выполнения перед отображением основной формы?

0
ответ дан 3 November 2019 в 03:47
поделиться

Что делать с результатом, даже если из функции можно вернуть три различных типа объектов? Необходимо выполнить следующее действие:

XXX ret_val = getIntersection();

Если getIntersection вернул три различных типа объектов, XXX придется изменить в зависимости от того, что getIntersection собирался вернуть. Очевидно, что это совершенно невозможно.

Чтобы справиться с этим, можно определить один тип, который определяет достаточно, чтобы охватить все возможности:

class Intersection { 
    enum { empty, point, circle, sphere};
    point3D location;
    size_t radius;
};

Теперь getIntersection () может вернуть перекресток, который определяет, какой перекресток у вас есть (и BTW, вам нужно рассмотреть четвертую возможность: с двумя сферами одинакового радиуса и одинаковой центральной точкой, пересечение будет сферой) и размером и расположением этого пересечения.

-121--2874461-

Имеется еще один вариант. Можно вернуть объединение указателей на объекты вместе с тэгом, который сообщает вызывающему абоненту, какой член объединения является действительным. Что-то вроде:

struct result {
    enum discriminant { A_member, B_member, C_member, Undefined } tag;
    union result_data {
        A *a_object;
        B *b_object;
        C *c_object;
    } data;
    result(): tag(Undefined) {}
    explicit result(A *obj): tag(A_member) { data.a_object = obj; }
    explicit result(B *obj): tag(B_member) { data.b_object = obj; }
    explicit result(C *obj): tag(C_member) { data.c_object = obj; }
 };

Я бы, вероятно, использовать Boost.variant, как предложил Мануэль , если у вас есть вариант.

-121--2874462-

У меня была аналогичная проблема в прошлом. Проект не будет выполняться в режиме отладки.

Он также был вызван поврежденной библиотекой DLL, но не «Hosting». Прошло много времени, так что я не помню точную DLL, но это имело какое-то отношение к Messaging.

3
ответ дан 3 November 2019 в 03:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: