Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
32 / 32 / 4
Регистрация: 01.07.2013
Сообщений: 230
.NET 4.x

Не работает приложение на других пк

02.09.2016, 11:20. Показов 644. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здраствуйте. Собственно вопрос в теме. При запуске на других пк ошибок нет. Просто не выполняется код.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
static void Main(string[] args)
        {
            string filePath = Application.StartupPath.ToString();
            var files = Directory.EnumerateFiles(filePath, "*.*", SearchOption.AllDirectories)
                        .Where(s => s.EndsWith(".xls") || s.EndsWith(".xlsx") 
                        && (s.Contains("DMT_") || s.Contains("DMP_"))).ToList();
            foreach (string fileExcel in files)
            {
                FileStream stream = File.Open(fileExcel, FileMode.Open, FileAccess.ReadWrite, FileShare.None);
                IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
                //DataSet - The result of each spreadsheet will be created in the result.Tables
                DataSet result = excelReader.AsDataSet();
 
                //освобождение ресурсов (IExcelDataReader is IDisposable)
                excelReader.Close();
 
                for (int i = 0; i < result.Tables.Count; i++)
                {
                    DataTable dt = result.Tables[i];
                    string oPuth = filePath + @"" + fileExcel.Remove(0, fileExcel.LastIndexOf(@"") + 1);
                    string OutputPath = oPuth.Remove(oPuth.IndexOf('.')) + ".txt";
                    StreamWriter sw = File.CreateText(OutputPath);
 
                    for (int j = 0; j < dt.Rows.Count; j++)
                    {
                        string rowstr = string.Empty;
                        for (int k = 0; k < dt.Columns.Count; k++)
                        {
                            rowstr += (dt.Rows[j][k] + "|");
                        }
                        rowstr = rowstr.Substring(0, rowstr.Length - 1);
                        sw.WriteLine(rowstr);
                    }
                    sw.Flush();
                    sw.Close();
                }
            }
        }
Миниатюры
Не работает приложение на других пк  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.09.2016, 11:20
Ответы с готовыми решениями:

Приложение не работает на других ПК
Всем доброй ночи, у меня такая проблемка работал с кодом всё окей запускался, перешёл на другой компьютер начал компиляцию кода и вот такая...

Приложение Win32api не работает на других пк
Есть приложение созданное с применением только Win32api . Не могу понять почему не работает на других пк? Выдает такую ошибку: ...

Приложение, использующие сторонние компоненты, не работает на других ПК
Здравствуйте господа! Сегодня написал код. Прога представляет из себя картинку в виде матрицы светодионой и несколько кнопок (создать,...

10
32 / 32 / 4
Регистрация: 01.07.2013
Сообщений: 230
02.09.2016, 11:52  [ТС]
Библиотеки перекинул вместе с приложением

Добавлено через 30 минут
Сделал логи. Считывание xlsx происходит. не сохраняет в файл txt.
C#
1
sw.WriteLine(rowstr);
0
Эксперт .NET
 Аватар для Rius
13112 / 7673 / 1674
Регистрация: 25.05.2015
Сообщений: 23,387
Записей в блоге: 14
02.09.2016, 12:00
StartupPath.ToString(); - бесполезно
@"" - тоже
Remove(oPuth.IndexOf('.') - туда же

Для потоков используйте using(){}. Для работы с путями - методы классов Path и FileInfo.

Добавлено через 1 минуту
На каждом этапе выводите состояние переменных в консоль.
1
32 / 32 / 4
Регистрация: 01.07.2013
Сообщений: 230
02.09.2016, 12:18  [ТС]
Спасибо. Щас попробую

Добавлено через 11 минут
C#
1
File.WriteAllText("progress.txt", "работает")
- Так все работает.
C#
1
2
3
4
StreamWriter sw = File.CreateText(OutputPath);
sw.WriteLine(rowstr);
sw.Flush();
sw.Close();
- а вот так нет.
Не пойму что за фигня. Пробовал .exe запускать от имени админа. Не помогает. На втором ПК работает только WriteAllText.
0
Эксперт .NET
 Аватар для Rius
13112 / 7673 / 1674
Регистрация: 25.05.2015
Сообщений: 23,387
Записей в блоге: 14
02.09.2016, 12:26
Оберните всё в
C#
1
2
3
4
5
6
7
8
9
try
{
  //... Код здесь
}
catch (Exception e)
{
  Console.WriteLine(e.Message);
  Console.WriteLine(e.StackTrace);
}
Добавлено через 51 секунду
Запускайте из консоли (cmd.exe), чтобы окно не закрылось сразу после завершения.
0
32 / 32 / 4
Регистрация: 01.07.2013
Сообщений: 230
02.09.2016, 12:38  [ТС]
в блок cath не заходит. вот скрин с другого пк.
C#
1
Console.WriteLine(rowstr);
В консоле выводит что будет записано. Но по факту
C#
1
sw.WriteLine(rowstr);
ничего не записывает.
Миниатюры
Не работает приложение на других пк  
0
32 / 32 / 4
Регистрация: 01.07.2013
Сообщений: 230
02.09.2016, 12:39  [ТС]
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
try
            {
                foreach (string fileExcel in files)
                {
                    FileStream stream = File.Open(fileExcel, FileMode.Open, FileAccess.Read, FileShare.None);
                    IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
                    //DataSet - The result of each spreadsheet will be created in the result.Tables
                    DataSet result = excelReader.AsDataSet();
 
                    //освобождение ресурсов (IExcelDataReader is IDisposable)
                    excelReader.Close();
 
                    for (int i = 0; i < result.Tables.Count; i++)
                    {
                        DataTable dt = result.Tables[i];
                        string oPuth = filePath + @"" + fileExcel.Remove(0, fileExcel.LastIndexOf(@"") + 1);
                        string OutputPath = oPuth.Remove(oPuth.IndexOf('.')) + ".txt";
                        StreamWriter sw = File.CreateText(OutputPath);
 
                        for (int j = 0; j < dt.Rows.Count; j++)
                        {
                            string rowstr = string.Empty;
                            for (int k = 0; k < dt.Columns.Count; k++)
                            {
                                rowstr += (dt.Rows[j][k] + "|");
                            }
                            rowstr = rowstr.Substring(0, rowstr.Length - 1);
                            Console.WriteLine(rowstr);
                            sw.WriteLine(rowstr);
                        }
                        sw.Flush();
                        sw.Close();
                        Console.ReadLine();
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Console.WriteLine(ex.StackTrace);
                Console.ReadLine();
            }
0
Эксперт .NET
 Аватар для Rius
13112 / 7673 / 1674
Регистрация: 25.05.2015
Сообщений: 23,387
Записей в блоге: 14
02.09.2016, 12:40
Между 17 и 18 строками вставьте
C#
1
Console.WriteLine(OutputPath);
0
32 / 32 / 4
Регистрация: 01.07.2013
Сообщений: 230
02.09.2016, 12:57  [ТС]
Вот скрин работы. Оно создало файл в левом месте с другим названием..
Вот откуда запускался .exe - D:\Users\Evgeniy.Naidiuk\Desktop\Програм ка\xls to txt\xls to txt\
Миниатюры
Не работает приложение на других пк  
0
Эксперт .NET
 Аватар для Rius
13112 / 7673 / 1674
Регистрация: 25.05.2015
Сообщений: 23,387
Записей в блоге: 14
02.09.2016, 13:02
Это не оно в левом месте , это Вы путь формируете так.
См рекомендации выше.
1
32 / 32 / 4
Регистрация: 01.07.2013
Сообщений: 230
02.09.2016, 13:05  [ТС]
Да. Точку "вырезал".
А на другом ПК путь был с точкой и оно наформатировало ерунды((
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.09.2016, 13:05
Помогаю со студенческими работами здесь

Microsoft Word 14.0 Object Library: приложение не работает на других ПК
К программе подгружена библиотека Microsoft Word 14.0 Object Library, прога пере сохраняет word-овские документы в файл с расширением .PDF,...

Граф. приложение+библиотеки+консольное приложение! Не работает программа без использования консоли. Если использую, то всё прекрасно работает.
Ребята нужна помощь,все вроде сделал, но приложение начинает зависать при запуске без использования консоли, если использую ее то все...

Приложение не запускается на других ПК
Доброго времени суток. у меня установлен Visual Studio 2012 при отладке проекта (F5) приложение нормально запускается. Проблема1: при...

Не запускается приложение на других ПК
Здравствуйте! У меня проблема с запуском exe'шника с приложением на C#. Приложение просто на просто не открывается(ошибок не выдаёт). Такая...

Почему не работает код на других компьютерах (на моем работает)?
вот задание: построить ф-ю: на вход поступают 2 строки, на выходе 1 строка, по следующим правилам: в 1 строке удваиваются все гласные,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru