問題タブ [proget]
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.
visual-studio - ProGet シンボルとソース サーバー: pdb を正しくダウンロードしますが、ソースが見つかりません
ProGet と VS2017/VS2019 を使用してソース ファイルとシンボルを保護する際に問題があります。
私のシナリオは次のとおりです
- PC でテスト アセンブリを開発する
- git サーバーに mod ファイルをプッシュする
- TeamCity (2019.1) で mod ファイルを取得します
- リリース モードでソースをビルドし、ProGet (5.2.3) で AssemblyTest.symbols.nupkg をパックして公開します。
- VS2017 では、テスト コンソール アプリを作成し、Package Reference を介して AssemblyTest をインストールしました。コード内のクラスで F12 を押すだけで、ソース コードを表示したり、デバッグ モードでステップインしたりしました。
ガイドがここで示唆しているように、VS2017を構成しました
nuget pack コマンドは -symbols コマンド ライン パラメーターを使用して起動され、symbol.nupkg は次の構造で作成されました。
- パッケージ
- サービス
- メタデータ
- ...
- ライブラリ
- net472
- TestAssembly.dll
- TestAssembly.pdb
- TestAssembly.xml
- net472
- ソース
- プロパティ
- AssemblyInfo.cs
- TestClass.cs
- プロパティ
私のコードのTestClassでF12を押すと、pdbが正しくダウンロードされました
c:\users\me\appdata\local\temp\symbolcache\testassembly.pdb\bf5be5cd155e4400b9b18c0e1e6a05941\testassembly.pdb
Visual Studioの出力ウィンドウのドロップダウンリストからReSharperアイテムを選択すると、
私のシンボルキャッシュフォルダーには、このパスのサブフォルダーがあります
C:\Users\me\AppData\Local\Temp\SymbolCache\src\source-files\dev\TestAssembly\1.0.0.10
代わりにソースファイルはありません。
pdb ファイルの中を調べてみると、
私の質問は、ProGet からソース ファイルを正しくダウンロードするにはどうすればよいですか? 私のシナリオで何が問題になっていますか?
ありがとうございました!
ファブリツィオ
proget - ProGet - アセット ディレクトリのインポートとエクスポート
ProGet で資産ディレクトリ (または複数のディレクトリ) をポータブルにする必要があります。つまり、USB ドライブにエクスポートして、別の (切断された) ネットワーク上に立ちます。これは、一時的に切断されたネットワークで MSI の DSC 主導のインストールを有効にするためです。
理想的には、これはセットアップにかなりの時間を必要としないはずです (つまり、2GB のファイルを http 経由で localhost にアップロードしないでください)。
ProGet Docker イメージを使用してソース パスをボリュームとして /var/proget/packages にマッピングすることで、USB コンテンツを ProGet コンテナーにマッピングする実験を行ってきましたが、SQL データベースにエントリがないため、ファイルは「 Asset Directory に表示されます。
ディスク上のファイルに基づいてデータベース内のアセット ディレクトリ エントリを再構築するように ProGet に指示する方法はありますか?
proget - ProGet Asset Registry が API キーを認識しない
ファイルをアップロードする前に、ProGet アセット ディレクトリにサブ ディレクトリを作成しようとしています。ドキュメントには、アセット ディレクトリはフィードとして扱われると記載されていますが、これはエラー メッセージで確認できます (最上位のディレクトリ名を存在しない名前に変更すると、適切な「フィードが存在しません」というエラー メッセージが表示されます)。ただし、サブディレクトリを作成しようとすると、API キーが尊重されないようで、代わりに匿名ユーザーとして報告されます。URL でキーを渡し、X-ApiKey ヘッダーと X-NUGET-APIKEY ヘッダーの両方を設定しようとしました。
PowerShell スニペット (ドキュメントに記載されているすべての方法で設定していることがわかります。各オプションも個別に試しました):
次のエラー メッセージが表示されます。
Invoke-RestMethod : Anonymous is not permitted to perform the Feeds_AddPackage task for the current scope.
また、匿名ユーザーを管理者グループに追加しようとしましたが、API キーにはすべてに対する権限があります。すべてのヘッダーとクエリ文字列の API キーを Username:Password 形式に置き換えようとしましたが、同じエラーが発生します。
Web プロキシを使用して、ヘッダーと URL が正しく、整形式であることを確認しました。
ProGet API のドキュメントは良くありません...使用例のスニペットはありません。
私が間違っていることを誰かが知っていますか?ProGet が API キーまたはユーザーを識別しないのはなぜですか?