Я написал простое приложение под Visual Studio 2019, которое работает просто отлично.
Я сейчас пытаюсь повторить его под Visual Studio 2022.
У меня есть событие Click для метки, которая открывает документ, используя функцию процесса. < /p>
Process.Start(filespec);< /code> < /p>
, где FilePec - это конкатенация как пути, так и имени файла.
Это открывает файл .docx (используя WPS Office).
Поскольку ассоциация файла на моем компьютере уже настроена для WPS, мне нужно только предоставить имя файла и его местоположение. VS2022, it raises an exception !
I have looked for solutions, but they all show the same thing - which is what I have implemented - but with no joy !
Here is the exception raised :-
An error occured trying to start process
'D:\People\Peter\Spirituallity\Brene Brown\Brene Brown.docx' with working directory
'D: \ Documents \ Visual Studio 2022 \ Projects \ Dave Tomlinson \ Bin \ Debug \ Net8.0-Windows'.
Указанный исполняемый файл не является допустимым приложением для этой платформы ОС. < /P>
Вот конкретный код:-< /p>
private void InvokeApplication(string fileName, string fileLocation)
{
// Activate the expected response for this Shortcut
string FileSpec;
if (fileName == "")
{
FileSpec = fileLocation;
}
else
{
FileSpec = fileLocation + "\\" + fileName;
}
try
{
// Invoke the required file via its associated App - using the Windows O/S file associations
Process.Start(FileSpec);
}
catch(Exception ex)
{
MessageBox.Show("Unable to invoke the file or its Application\r\n\r\n" + ex.Message);
}
}
< /code>
Это, конечно, требует:-< /p>
Использование system.diagnostics; < /p>
, который предоставляется в верхней части моего класса < /p>
Так называется:-< /p>
< /p>
. private void lblLink_Click(object sender, EventArgs e)
{
InvokeApplication("Brene Brown.docx", @"D:\People\Peter\Spirituallity\Brene Brown");
}
< /code>
Я также попробовал это:-< /p>
Process process = new Process();
process.StartInfo.UseShellExecute = true;
process.StartInfo.FileName = "Brene Brown.docx";
process.StartInfo.Arguments = @"D:\People\Peter\Spirituallity\Brene Brown\";
process.Start();
< /code>
У меня был какой-то успех, используя эту тестовую часть:-< /p>
Process process = new Process();
process.StartInfo.UseShellExecute = true;
process.StartInfo.FileName = "notepad.exe";
process.StartInfo.Arguments = @"D:\People\Peter\Spirituallity\Brene Brown\Notepad Test.txt";
process.Start();
Process process = new Process();
< /code>
Блокнот открылся, но не использовал указанный файл - исключение снова было поднято. VS2019 нет?
Подробнее здесь: https://stackoverflow.com/questions/797 ... -in-vs2022
Почему Process.Start () работает в VS2019, но не в VS2022? [дублировать] ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
OpenAccessenhancer работает в VS2017 и VS2019, но не в VS2022 (решенная, но не понятая)
Anonymous » » в форуме C# - 0 Ответы
- 6 Просмотры
-
Последнее сообщение Anonymous
-
-
-
OpenAccessenhancer работает в VS2017 и VS2019, но не в VS2022 (решенная, но не понятая)
Anonymous » » в форуме C# - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-