Нужно решение для "corflags: error CF001: Не удалось открыть файл для записи"

Я написал программу, которая переключает приложения с x86 на x64 и обратно с помощью CorFlags.exe. Моя программа имеет права администратора, и Microsoft Visual Studio 2015 также работает как администратор. Я использую.NET Framework версии 4.5.2. Я проверил все пути, которые я использую в программе, все пути установлены правильно. Наконец, моя программа работает под x86, а не под Any CPU. Мой ноутбук работает с Windows 7 Professionel (32-разрядная версия).

Теперь вот моя проблема, независимо от того, что я делаю, каждый раз, когда я запускаю свою программу, я получаю сообщение об ошибке "corflags: error CF001: Не удалось открыть файл для записи". Я часами искал в интернете эту проблему, но ничто не могло мне помочь с этой проблемой. Что еще более странно, так это то, что, когда я проходил программу шаг за шагом, она работала и никаких ошибок не возникало. Только когда я запускаю программу нормально без каких-либо точек останова, появляется ошибка. Я надеюсь, что кто-то может помочь мне с этим. Вот моя программа:

        string exePath = @"\CorFlags.exe";

        exePath = Application.StartupPath + exePath;

        Process process = new Process();
        process.StartInfo.UseShellExecute = false;
        process.StartInfo.RedirectStandardOutput = true;
        process.StartInfo.FileName = exePath;



        if (antwort == DialogResult.Yes)
        {

            Swapper selectedSwapper = bit_VersionControl1.SelectedVersion;
            if (selectedSwapper.ID == 2)
            {
                process.StartInfo.Arguments = "/32BITPREF+ " + '"' + _strFilename + '"';
                MessageBox.Show("32-Bit Version wird ausgeführt.");
            }

            else if (selectedSwapper.ID == 3)
            {
                process.StartInfo.Arguments = "/32BITPREF- " + '"' + _strFilename + '"';
                MessageBox.Show("64-Bit Version wird ausgeführt.");
            }

            process.Start();
            MessageBox.Show('"'+_strFilename+'"');

            string output = process.StandardOutput.ReadToEnd();
            process.WaitForExit();
            int result = process.ExitCode;
            string errordetail = string.Empty;

Я новичок в C#, поэтому, пожалуйста, сделайте ваши ответы не слишком сложными для понимания:D. Спасибо вам, ребята.

0 ответов

Другие вопросы по тегам