Я написал простое приложение под 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#
Место общения программистов C#
1752677293
Anonymous
Я написал простое приложение под 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 нет?
Подробнее здесь: [url]https://stackoverflow.com/questions/79703539/why-does-process-start-work-in-vs2019-but-not-in-vs2022[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия