2017-09-08 16 views
0

ユーザーのデスクトップを検索し、3つのタスクを実行するコードを含むWinFormsアプリケーションを作成しました。 2. .csvファイルを読み込みます。 3.一部のデータを出力しますデスクトップ上の.csvファイルにコピーします。C#ClickOnceデプロイメントマッピングMy Desktopドライブに戻る

私は私が私たちのネットワークドライブにプログラムをインストールするには、ClickOnce配置を使用

string desktop = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); 

ユーザーのデスクトップに見つけるために、以下のコードを使用しています。プログラムは正常にインストールされますが、誰かが端末からプログラムを実行しようとすると、「ディレクトリ名が無効です」というエラーメッセージが表示され、ユーザーのデスクトップではなくデスクトップが参照されます。

コードや配備方法を変更してユーザーのデスクトップを参照する方法を教えてください。

+0

下記の私の答えをチェックしてください。 – Znaneswar

+1

このエラーが「いつ」発生するのかを明確にすることはできますか?あなたの質問は「誰かがインストールしようとしました」と述べていますが、エラーメッセージがコードを参照しています(つまり、実行時に例外がスローされます)。これを明確にするために質問を更新してください。 – Subbu

+0

@Znaneswarプログラムがネットワーク上の場所や他のユーザーの一部ではないディレクトリを参照しているため、答えが正しく機能しません。ファイルパスが '\ Users \'ディレクトリ内にある場合、私はそれもクラッシュすると思います。 – thanatorr

答えて

0

私は自分のコードに以下の変更を加え、必要に応じてそれが働いたディレクトリ無効な試みが、それはこのコード

string filePath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); 
string extension = ".log"; filePath += @"\Error Log\" + extension; 
    if (!Directory.Exists(filePath)) { 
Directory.CreateDirectory(filePath); 
} 
0

で試してみてください 作成する場合:

string desktop = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); 
関連する問題