Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2010, 11:50   #1
Casper-SC
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 549
Печаль После установки VS2010 и запуска моего проекта появилась проблема..., Конкретно с WMPLib.

Такая проблема: Я писал проект на Visual Studio 2008, использовал в проекте WMPLib, подключал так - "Проект" - "Добавить ссылку", "COM" - WindowsMediaPlayer. Теперь установил Visual Studio 2010 Ultimate, запускаю свой проект, он преобразовался в проект для 2010 студии (помоему преоразовался только один файл проекта и всё). Далее я пытаюсь запустить проект, доходит до кода помеченного комментарием:
Код:
        /// <summary>
        /// Главная точка входа для приложения.
        /// </summary>
        [STAThread]
        static void Main(string[] arguments)
        {
            
            //Включаем визуальные стили раньше, чем будет проверка, чтобы MessageBox выглядел современно
            Application.EnableVisualStyles(); 
            Application.SetCompatibleTextRenderingDefault(false);

            const String AppName = "My Program"; //Просто название приложения
            bool oneOnly;
            bool NeedHide = false;
            if (arguments.Length != 0)
            {
                if (arguments[0] == "-hide")
                {
                    NeedHide = true;
                }
            }

            // Указываем имя своей программы. В нашем случае My Program
            Mutex m = new Mutex(true, AppName, out oneOnly);
            if (oneOnly)
            {
                Application.Run(new FormSetting(NeedHide)); //Выполнение приложения останавливается тут
                ApplicationSettings appSettings = new ApplicationSettings();
            }
            else
            {
                MessageBox.Show("Приложение " + AppName + " уже запущено.");
            } 
        
        }


Цитата:
System.BadImageFormatException не обработано
Message=Невозможно загрузить файл или сборку "Interop.WMPLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" или один из зависимых от них компонентов. Была сделана попытка загрузить программу, имеющую неверный формат.
Source=MyProgram
FileName=Interop.WMPLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
FusionLog==== Информация о состоянии предварительной привязки ===
Журнал: User = Мой-ПК\МоёИмя
Журнал: DisplayName = Interop.WMPLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
(Fully-specified)
Журнал: Appbase = file:///D:/Программирование/C# - Visual Studio 2008/MyProgram/WindowsFormsApplication1/bin/Debug/
Журнал: Initial PrivatePath = NULL
Вызов сборки: MyProgram, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.
===
Журнал: данная привязка начинается в контексте загрузки default.
Журнал: используется файл конфигурации приложения: D:\Программирование\C# - Visual Studio 2008\MyProgram\WindowsFormsApplicat ion1\bin\Debug\MyProgram.vshost.exe .Config.
Журнал: используется файл конфигурации компьютера из C:\Windows\Microsoft.NET\Framework6 4\v2.0.50727\config\machine.config.
Журнал: политика в данный момент не применяется к ссылке (личная, пользовательская, частичная привязка сборки или привязка по местоположению).
Журнал: попытка загрузки нового URL file:///D:/Программирование/C# - Visual Studio 2008/MyProgram/WindowsFormsApplication1/bin/Debug/Interop.WMPLib.DLL.
Ошибка: не удалось завершить установку сборки (hr = 0x8007000b). Проверка прекращена.

StackTrace:
в WindowsFormsApplication1.FormSettin g..ctor(Boolean needHide)
в WindowsFormsApplication1.Program.Ma in(String[] arguments) в D:\Программирование\C# - Visual Studio 2008\MyProgram\WindowsFormsApplicat ion1\Program.cs:строка 38
в System.AppDomain._nExecuteAssembly( Assembly assembly, String[] args)
в Microsoft.VisualStudio.HostingProce ss.HostProc.RunUsersAssembly()
в System.Threading.ExecutionContext.R un(ExecutionContext executionContext, ContextCallback callback, Object state)
в System.Threading.ThreadHelper.Threa dStart()
InnerException:

Далее создаю новый проект, добавляю эту же ссылку, запускаю программу там всё работает, а в моей программе нет. Что за беда? Может кто сталкивался с подобным? Как решить эту проблему?

Кстати остался старый откомпилированный проет в VS2008, если скопировать из него Interop.WMPLib.dll в папку с программой и запустить в студии, то 1 раз программа запускается без ошибки, если заново построить проект, то опять такая ошибка. Что это может быть?

Последний раз редактировалось Casper-SC; 23.05.2010 в 11:54.
Casper-SC вне форума Ответить с цитированием
Старый 23.05.2010, 15:12   #2
Casper-SC
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 549
Восклицание

Подсказали на официальном форуме, всё исправил, действия были такие:
Проект собирается в Any CPU, я указал явно платформу при сборке в x86.
Сделал так: "Свойства проекта" - "Построение" - Конечная платформа = x86. Всё заработало!
Casper-SC вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Незапускается после установки AgressiveBehavior Обсуждение статей 1 10.09.2009 18:34
Компиляция проекта без запуска Delphi 856100 Общие вопросы Delphi 3 06.05.2009 18:50
Выводится повторное исключение после моего стандартного. prikolist Общие вопросы C/C++ 4 26.03.2009 13:35
Проблемы запуска проекта Project.dpr (в программировании новичок) aleksandrmich Общие вопросы Delphi 8 05.03.2008 12:11