質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

.NET Framework 4.0

Microsoft Windows用のソフトウェア開発環境/実行環境である .NET Frameworkの4番目のメジャーバージョンです。

Q&A

解決済

3回答

537閲覧

C# .NETを利用したプログラミングのお作法について知りたいです。

anonymouse

総合スコア9

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

.NET Framework 4.0

Microsoft Windows用のソフトウェア開発環境/実行環境である .NET Frameworkの4番目のメジャーバージョンです。

0グッド

0クリップ

投稿2018/06/22 02:28

編集2018/06/22 04:48

前提・実現したいこと

  • プログラミング初心者です。

C# .NETを利用したプログラミングのお作法について知りたいです。

発生している問題・エラーメッセージ

C:¥Users¥hogehoge¥AppData¥Local¥Temp配下に設置したCMDファイルを
csc.exeで実行させているプログラムがあります。

今回私がこちらの開発を引き継ぐことになったのですが、
この操作がmalwareの挙動に酷似しているようでウイルス対策製品により
誤検知を引き起こす可能性があると聞きました。

そのため、出来ればCMDファイルの配置を変更しようとしています。
ただ、前任者が何故その場所にファイルを格納していたのかを誰も知らず
かつ.NET開発に詳しい方もいないためどうしようか悩んでいます。
※単にフルパスをハードコードしている為、変更は簡単です。

まずは一般論として
CMDファイルを各ユーザーTempフォルダに配置するような設計が
なされることがあるのか、そしてそれが所謂お作法によるものなのか
という点が知りたいです。

試したこと

ネット検索ー特に言及無し。

補足情報(FW/ツールのバージョンなど)

.Net4.0以降

あとがき
諸所ご意見有難うございます!一番初めにアンサーいただいた方をベストアンサー
とさせていただきましたが皆さんのご意見で一つこのプログラム作り直したほうが
早い・・・と思ったので解決とさせて頂きます。助かりました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

※単にフルパスをハードコードしている為、変更は簡単です。

Path.GetTempPath() ではなくハードコード?
Tempフォルダー等は環境変数等で変更可能ですので適切なメソッドで位置取得してください。
他にも、Environment.GetFolderPath で取得できる位置もあります。

CMDファイルを動的に作成している場合等であれば、Tempファイルを使用するのが適切と思います。
むしろ、他にどこに配置すべきかは知りたいぐらいですw

実際、Visual Studio 等でコンパイルする時もTempフォルダーに色々出していたはずです。
それ以外にも色々なソフトが一時スクリプト的なファイルをTempに出力、実行しています。

投稿2018/06/22 03:24

mituha

総合スコア385

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

この場合、.NETの作法というより、Windowsの作法でしょうか。

実行後、削除したいだとか、特に残す必要がないもの であれば作法という意味ではそんなに問題ないと思います。
tempフォルダは一時フォルダなので、一時的に実行したいとかでなければ、避けたほうが良いとは思います。

投稿2018/06/22 02:54

paul

総合スコア21

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

Tempは一時フォルダ、ということで、プログラムをそこのフォルダで起動するというのはちと考えられませんね
マルウエアやウィルスのたぐいは、キャッシュフォルダやTempなんかに生成されてそこで実行、感染を行いますんで、アンチウィルスに引っかかるのは仕方がないと思います

いつ誰に削除されても文句言えないし、Windowsのシステムクリーナなんかでも、Tempフォルダはクリアの対象になってたと思います

投稿2018/06/22 02:47

y_waiwai

総合スコア87719

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問