問題タブ [programdata]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - ローカル PC からサーバーへの移動
現在、ローカル PC (Win & 64 ビット) で実行されている .NET (C#C) で Windows サービス アプリを構築しました。これには、独自のイベント ログ ファイルと、ポスト デバッグ用のカスタム ログ ファイルがあり、ログアウトします。c:\ProgramData\MyAppName\
.
すべての主要な機能コードを含む 1 つのプロジェクトに、主要な 2 つの DLL があります。
これらはサービス VS プロジェクトによってフックされます。サービス VS プロジェクトには、デスク トレイにある Windows フォーム プロジェクトも含まれており、サード パーティの API を使用しているため、サービスのステータス、API が稼働しているかどうか、現在のエラー、さらに、必要に応じてサービスを停止/開始できるボタンがあります。
ただし、これをすべて Windows 2012 Server に移行する必要があり、解決する必要があるいくつかの問題があります。
- サーバーにはVisual Studioがないため、プロジェクトを配置し、再構築して実行し、「参照の追加」などで行う必要があるDLLに他のアプリをフックさせるためのディレクトリはありません。
VS Web Edition などをサーバーにダウンロードして、必要に応じて管理/デバッグ/コード作成を容易にする必要がありますか?
または、DLLとregsrvrをコピーしてインストールし、サービス/アプリをサーバーにコピーするだけの別の方法はありますか?そうでない場合は、その参照が自動的に機能します。
メイン コードは、私が作成した DLL に含まれています。これには、JSON サード パーティ API で作成された DLL も付属しています。
メイン プロジェクトを再構築すると、これらは両方とも再作成されます。次に、それらを削除してサービス プロジェクトと勝利フォーム プロジェクトの両方に再追加してから、再構築して正しく実行する必要があります。
サーバー上にVSなしでこれを行うにはどうすればよいですか
- コードのデバッグ/作成を PC に保持し、ファイルをコピーすることはできますか? - パスが異なっていても、サービス/アプリからの DLL へのリンクは機能しますか? - そうでない場合、どうすればよいですか? -また、それらを保存するのに最適なフォルダーはどこですか?
また、サーバー (RD/SFTP/Win 共有) への管理者/ルート アクセス権があるにもかかわらず、C:\ ドライブに ac:\ProgramData フォルダーが表示されないことに気付きました。これは、24 時間年中無休で実行されているアプリからのすべてのログが、PC で実行されているときに記録される場所です。1 日あたり 1 つのログ ファイル、2 つの履歴ファイルが作成されます。すべて後処理のデバッグなどに使用されます。
これは、Win 2012 サーバーであり、プロジェクト内のパスを取得するために使用するコードであるためですか?
動作が異なります。たとえば、Environment.SpecialFolder.CommonApplicationData は Win 2012 では別のフォルダーです。または、通常どおり参照できるように ProgramData フォルダーを表示するために何かをする必要がありますか?
最近、自分の Win7 マシンで Windows Update を実行したとき、何かがおかしい (Win7 ではよくあることのようです) ときに、ProgramData フォルダーが表示されなかった (サービスがまだ実行されていた) ときのことを覚えています。これが、すべてのデスクトップ アイコンがブックマークやフォルダと一緒に表示された理由です)。
したがって、これらの 2 つの VS プロジェクト (またはそれらが作成する作業コード) を Win7 64 ビット マシンから Win 2012 64 ビット サーバーに移動しようとしています。
すべてが機能し、すべてのフォルダー (programdata) が表示され、サーバーに Visual Studio がなくてもサービスが稼働するようにするための最善の手順は何ですか?
appdata - Windows 10 では、プログラム データは C:\ProgramData または C:\Users\user1\AppData に引き続き保存されますか?
まず、私の問題を説明します。Windows 10 ユーザーのニーズに合わせてソフトウェアを更新しています。現在C:\ProgramData
、製品データベースと製品価格データベースの保存に使用しています。四半期ごとに、更新された製品価格データベースと、ユーザーがインストールする新しいおよび/または編集された製品データベースを含む新しいバージョンのソフトウェアをリリースします。このデータを引き続き ProgramData に格納する必要がありますか?それとも に格納するように切り替える必要がありC:\Users\user1\AppData
ますか?
Program Data と AppData の違いに関する質問を調べています。StackOverflow 質問 ソフトウェアをダウンロードするユーザーのデータはカスタマイズされていないため、AppData は正しい場所ではないように見えますが、これを確認したいと考えています。
よろしくお願いします。
c# - 検索環境変数 %ProgramData% を展開して起動情報を使用する方法
PythonApplication1.py
C# Windows フォーム アプリケーションのソースに入りました。特定の条件で、次のように Program Data フォルダーに書き込みます。
次に、特定の条件で、C# はプログラム データ フォルダーから Python アプリケーションを次のように実行します。
Pythonコードの側で2番目に得たのは、同じパスにあるテキストドキュメントにデータを書き込むことですが、その作成はPython自体で行われますが、C#コードから行うことができます。 :
ただし、Python コードは、同じプログラム データ パスでこのファイルに書き込む必要があります。
両方がそこにあるので、ちょうど同じ場所に書く:
問題は、上記のようにこの python コードを実行すると、次のようになることです。
ディレクトリではなく%ProgramData%
、C# .exe でデバッグ フォルダーに配置されている場合、またはdoc.txt を使用してパスProcess.Start("PythonApplication1.py");
内で Python コードを手動で実行した場合は、2 つの間違った処理が行われます。%ProgramData%\Folder
ファイルを作成して直接書き込みますが、すべて正しいです。
それ以外の場合Process.Start(@"%ProgramData%\\Folder\\PythonApplication1.py");
、2番目の結果が得られた場合、データはdoc.txtに書き込まれ%ProgramData%\Folder
ず、PythonコードはC#.exeを使用してデバッグフォルダーのプログラムデータフォルダーからデータを作成します。
問題は、python コードを作成して、C# アプリケーションの "%ProgramData%\Folder" パスにある doc.txt に書き込む方法です。
PythonApplication1.py が ProgramData 内に存在する場合、次のようになります。
また、手動で実行した場合、テキスト ドキュメントを作成して書き込みます。 with を実行する必要がありますが、実行する必要はありませProcess.Start
ん。
また、スター情報を使用しようとしましたが、これが正しいかどうかはわかりませんが、とにかく同じ結果が得られました:
ここで2つのことが必要なようです。検索環境変数 %ProgramData% を展開します。また、起動情報を使用して、その特定のフォルダーでプロセスを開始するように指示する必要があります。それ以外の場合、現在の作業フォルダーはアプリケーションと同じフォルダーになると思いますが、それを行う方法がわかりません。それが問題の理由である場合は、助けが必要です.
file - Folder.Files が存在しないフォルダーを返す場合の処理
Power Query で C: ドライブ全体を検索して、*.pdf などの特定の拡張子のすべてのファイルを検索する必要があります。2 番目のステップでファイル拡張子をフィルタリングしようとすると、次のエラーが発生します。
問題は、このフォルダーが存在しないことです。Power Query が無効なフォルダー パスを返すのはなぜですか? PowerQuery によって返されるフォルダーは、フォルダー内のフォルダーへのリンクのようですC:\ProgramData
。
次の M スクリプト (問題のある領域に限定) は、最初のステップで 999 行以上を返します。dir /s /ah
コマンド プロンプトから同じフォルダーから 実行すると、20 個のファイルしか返されません。
私の最終的な目標は、Excel Power Query を使用して、C: ドライブ全体で特定の拡張子のすべてのファイルを検索し、それらのファイル名、パス、およびサイズを返すことです。dir c:\*.pdf /b /s > list.txt
ファイルサイズを返さないことに注意してください。
Windows 10 64 ビットと Office 365 32 ビットがインストールされています。