1117 У меня была та же проблема, и я смог ее решить.
Моя ошибка была:
Ожидание устройства. Устройство USB не найдено
Это происходит, когда я использовал SONY XPERIA Tipo Dual и Samsung Galaxy Core Duos i8262.
Я решил проблему в обоих устройствах.
SONY XPERIA Tipo Dual
Установите « SONY PC Companion », который автоматически определит ваш драйвер.
Запустите приложение снова. Вы можете видеть, что ваше приложение работает на вашем устройстве.
Samsung Galaxy Core Duos i8262
Установите USB-накопитель. Вы можете найти его здесь . Направьте URL для загрузки
Запустите приложение снова. Вы можете видеть, что вы все равно получаете ту же ошибку. Перейти в раздел уведомлений. Как видите, телефон подключен как медиаустройство (Media device (MTP)) Вам нужно изменить его как «Камера (PTP)», коснувшись уведомления.
Запустите приложение снова. Вот это да. Это работает ...
Edit: Пожалуйста, прочтите вопрос OP и все ее комментарии, прежде чем отрицать это. Заглавный вопрос ОП НЕ ТОЧНО то, что она хотела. Мой ответ дал ей то, что ей нужно для решения ее проблемы. Вот почему она проголосовала за ответ. Да, ответ Джоэла правильный, если он конкретно отвечает на вопрос заголовка. Но, прочитав ее комментарии, вы увидите, что это не совсем то, что она искала. Спасибо.
Используйте это ...
string strFullPath = @"C:\Users\Ronny\Desktop\Sources\Danny\kawas\trunk\csharp\ImportME\XukMe\bin\Debug\DannyGoXuk.DTDs.xhtml-math-svg-flat.dtd";
string strDirName;
int intLocation, intLength;
intLength = strFullPath.Length;
intLocation = strFullPath.IndexOf("DTDs");
strDirName = strFullPath.Substring(0, intLocation);
textBox2.Text = strDirName;
Используйте System.IO.Path.GetDirectoryName ()
для всего пути или new DirectoryInfo (путь) .Parent.Name
только для имя этой папки.
В указанном вами пути нет каталога с именем «DTD». Похоже, есть файл с именем "DannyGoXuk.DTDs.xhtml-math-svg-flat.dtd"
, но точки (.) В этом пути не являются допустимыми символами разделителя каталогов. . Вы имели в виду "DannyGoXuk \ DTDs \ xhtml-math-svg-flat.dtd"
?
Если это так, с учетом всего нового пути , вам нужно что-то вроде этого чтобы вернуть список файлов в папке DTDs
:
string path = @"C:\Users\Ronny\Desktop\Sources\Danny\kawas\trunk\csharp\ImportME\XukMe\bin\Debug\DannyGoXuk\DTDs\xhtml-math-svg-flat.dtd";
string[] files = new DirectoryInfo(path).Parent.GetFiles();
в окне свойств я выбираю Build Type как Embedded resource.
И теперь мы наконец дошли до него. Когда вы выбираете «Встроенный ресурс», элемент включается в ваш исполняемый файл программы. Прямого пути больше нет . Вместо этого установите Тип сборки на «Содержимое» и установите «Копировать в выходной каталог» на «Всегда копировать» или «Копировать, если новее».
System.IO.Path.GetFileName( System.IO.Path.GetDirectoryName( fullPath ) )
Это вернет только имя папки, содержащей файл.
Для
C:\windows\system32\user32.dll
это вернет
system32
Я предполагаю, что это то, что вы хотите.
Вызов
System.IO.Path.GetFileName
с полным путем к каталогу возвращает последнюю часть пути, которая является именем каталога. GetDirectoryName
возвращает полный путь к родительскому каталогу, что является нежелательным.
Если у вас есть имя файла, и вам нужно только имя родительского каталога:
var directoryFullPath = Path.GetDirectoryName(@"C:\DTDs\mydtd.dtd"); // C:\DTDs
var directoryName = Path.GetFileName(directoryFullPath); // DTDs
Вы можете использовать:
System.IO.Path.GetDirectoryName(path);
Не используйте манипуляции со строками напрямую. Вместо этого используйте GetDirectoryName
класса Path:
System.IO.Path.GetDirectoryName(myPath);
Используйте объект FileInfo ...
FileInfo info = new FileInfo(@"C:\Users\Ronny\Desktop\Sources\Danny\kawas\trunk\csharp\ImportME\XukMe\bin\Debug\DannyGoXuk.DTDs.xhtml-math-svg-flat.dtd");
string directoryName = info.Directory.FullName;
Файл даже не обязательно должен существовать на самом деле.
Вы можете использовать Путь ...
Path.GetDirectoryName(myStr);
Path.GetDirectory
по указанному вами пути возвращает:
«C: \ Users \ Ronny \ Desktop \ Sources \ Danny \ kawas \ trunk \ csharp \ ImportME \ XukMe \ bin \ Debug "
Попробуйте сами:
var path = Path.GetDirectoryName(@"C:\Users\Ronny\Desktop\Sources\Danny\kawas\trunk\csharp\ImportME\XukMe\bin\Debug\DannyGoXuk.DTDs.xhtml-math-svg-flat.dtd");
Ваш вопрос немного странный - нет каталога с именем DTD.