kazuk は null に触れてしまった

C# / .NET 系技術ネタ縛りでお送りしております

NuGet でのパッケージングの注意事項諸々


NuGet で pack する時に失敗しそうな事を色々と見つけたので blog

web.config.transform が指定した通りには入らないっぽい

現象の発生する NuGet.exe

C:\Users\kazuk\Documents\DocOfCode\DocOfCode>..\.nuget\NuGet.exe
NuGet Version: 2.5.40416.9020

ASP.NET プロジェクトのディレクトリで nuget spec 叩いて nuspec をちょっと編集してパッケージを作れるようになりましたって状態で、web.config に関する変換を web.config.transform として作成

nuget pack を叩く

Successfully created package ‘C:\Users\kazuk\Documents\DocOfCode\DocOfCode\DocOfCode.1.0.0.33115.nupkg’.

んでNuget package explorer で中身見てみると自分が指定した web.config.transform じゃなくて、web.config の内容が入ってる。 Exclude で web.config 指定してもダメっぽい。

image

Nuget package explorer で狙った格好の web.config.transform を入れなおさないと現状だめっぽい。

web.config の中にセキュリティ的にヤバい事書いてると nuget 経由で漏れそうな気がするので注意、超注意

NuGet pack –IncludeReferencedProjects を不用意に使うと危険

なんでか知らんけど、依存プロジェクトに含まれる出力ディレクトリにコピーのついてないコンテンツまで nuget パッケージに入れられちゃう。

nuget pack –IncludeReferencedProjects を使ってパッケージ

Successfully created package ‘C:\Users\kazuk\Documents\DocOfCode\DocOfCode\DocOfCode.1.0.0.33115.nupkg’.

CreateRasKey.txt は依存プロジェクトのコンテンツなんだけど、パッケージに入っちゃう。

image

クラスライブラリプロジェクトの中に txt で作り中のメモとか置いて出力ディレクトリにコピーしてないから大丈夫だと思ってるとダダ漏れになる。(RSA秘密鍵とかそういうのをうっかりコンテンツで置いてて漏れそうになった罠)

ビルドオプションをちゃんと None にしないとダメよと。

まとめ

便利な物だけど、ファイルが表に出ていく物である以上は慎重に使ってあげないと、セキュリティ的にヤバいので、中身はちゃんと確認しましょう。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。