2017-06-21 10 views
-1

ビルド番号でネイティブDLL(管理されていない)をパッチする方法はありますか? DLLを右クリックして[プロパティ]を選択すると、ビルド番号として[生産バージョン]の[詳細]タブに表示されます。または他のプロパティは、そこに設定されたビルド番号として設定されたappveyor?ネイティブDLLのAssemblyInfoパッチ

私はパッチ適用ASsemblyInfoをオンにしなかったが、ネイティブのDLLが(管理されていない)ビルド番号でパッチを適用し、私はこのAssemblyInfoだけでマネージアセンブリのためである疑いはなかった?...私は必要なもの

がありますビルド番号は、ビルド番号を使用できるように、実行時にネイティブDLLで定義されたメソッドに「何らかの形で」アクセスできるようにすべてのビルドを生成します。

助けてもらえますか? ありがとう

答えて

1

AssemblyInfo.csはマネージアセンブリ用です。ネイティブdllのために私はthis有用な議論を見つけた。その議論には多くの解決策がありますが、その単純さのためにrceditに基づいたものが好きです。あなたは、次の簡単なコマンドでそれを使用することができます。

appveyor downloadfile "https://github.com/electron/rcedit/releases/download/v0.1.0/rcedit.exe" 
rcedit.exe <path_to_native_dll> --set-product-version %appveyor_build_version% 
+0

実際に私のために失敗した、一般的なエラー「rcedit致命的なエラー:致命的なエラー:ファイルのバージョンを変更することができません」をrcedit.exe ... はので、私は一緒に行きましたverpatch.exeとそれはあなたがとにかく指摘したスレッドに記載されている同じ注意点で仕事をしました:) –

+0

後で見つかりました: verpatchは、私の開発者ボックスで私のDLLのx64とx86バージョンに最適ですが、 x64のために、それはx86のdllに全く何もしていません - エラーもありません!何が起こるかもしれないかのヒント? 私はappveyorログで、verpatchコマンドが実行中で、エラーがなく、dllが何とか置き換えられず、最後にバージョンスタンプがないことがわかります。 x64の場合は がすべての状況で正常に動作します。 手がかりはありますか? –

関連する問題