2017-03-01 20 views
1

特定のプロジェクトでは、画像を含む異なるNuGetパッケージを作成する必要がありました。次に、これらのパッケージをプロジェクトにインストールし、イメージをフォームに配置する必要がありました。これはすべてスムーズに進みました。画像リソースからVS 2015のパッケージフォルダにある画像を参照する

Gitの別のブランチにチェックアウトしてパッケージを復元すると、何らかの理由でVisual Studioがフォームで使用されたイメージを見つけることができません。それが機能するために、私は手動でソリューションレベルで次のコマンドを入力する必要があります:私はこれをした後、すべてが再び構築された

Update-Package Reinstall 

。問題は、Gitでブランチを切り替えるたびにこれをしたくないということです。私はすでにVisual Studioにこの問題の解決策があるかどうかを見ていましたが、私が見つけたのはLinked and Embedded Resourcesでした。

私はパッケージの復元を実行すると、Visual Studioはイメージへの参照を置き換えて、パッケージの復元後にイメージを常に認識するようにします。私の質問:これは可能なのでしょうか?それがあれば、どうですか?

この質問に答えるための十分な情報がありましたら幸いです。ありがとう!


EDIT: わかりましたので、私はここでの問題を修正してくださいみましょう。パッケージを復元すると、ファイルは\packages\フォルダにのみ復元されます。つまり、リポジトリをローカルにクローンすると、.gitignoreイメージでは無視する必要があるので、プロジェクトリソースフォルダには何もありません。復元すると、\packages\フォルダーは更新されません。 そのため、リソースフォルダ内の\packages\フォルダへの参照が必要です。

例:

パッケージPackage1.1.0.0にイメージがあります。 Img1と呼ばれる。パッケージをインストールすると、次のパスにイメージが保存されます。

\packages\Package1.1.0.0.\Resources\Icons\Img1.png 

\ packagesは、ソリューションの下にあるフォルダです。

私がパッケージをインストールしたプロジェクトには、Img1もあります。その画像はここに保存されます:

\project\Resources\Icons\Img1.png 

プロジェクトはソリューションの下に保存されます。

今、Img1.pngにファイル自体は含まれず、パッケージフォルダ内のImg1.pngへの参照が必要です。また、パッケージをバージョン1.0.1に更新すると、Img1.pngへの参照が正しく残っています。


EDIT:

わかりましたので、私の周り見てのビットをした、と私は私の正確な問題はNuGetのGitHubのページ上の問題であることが判明:https://github.com/NuGet/Home/issues/2895

+0

正確な問題がGitHubの問題と同じ場合は、質問をしたり削除したりして、GitHubページにコメントを追加してください。これは他のコミュニティにとって恩恵です。あなたの質問をクリアして、簡単に答えを見つけることができます。ありがとう。 –

答えて

0

私が正しく理解したら、フォーム内のイメージは、対応するパッケージフォルダの相対パスを使用して参照する必要があります。例えば

/パッケージ/パッケージ1 /イメージ/ Img1。png

このようにして、パッケージがリストアされ、パッケージフォルダで利用可能になると、新しいブランチでも解決できるはずです。

画像パスがフォームに正しく設定されているかどうかを確認してください。

+0

私は返信したいと思っていましたが、解決策が考えられました。誤って入力してしまったので... – iPhantomGuy

+0

Ok。次に、あなたの質問を更新したり、あなたの解決策を使って答えを加えたりすることができれば、おそらく誰かにとって役に立ちます。 –

+0

私は元の投稿を編集しました。 – iPhantomGuy

0

パッケージの復元時に ""と表示されている場合、Visual Studioは参照をイメージに置き換えますので、パッケージの復元後にイメージは常に認識されます "。

パッケージをパッケージ1.1.0.0からパッケージ1.1.0.1に更新すると、古いパッケージ1.1.0.0が削除され、参照も破損します。だから、手動ソリューションレベルで次のコマンドを入力する必要があります。

Update-Package Reinstall 

それでも正しくImg1.pngへの参照を持って、バージョン1.0.1、およびVisual Studioにパッケージを更新したい場合は、このIMG1を詰めることができ.pngをpackage1.1.0.0に含めるのではなく、個別にパッケージに追加します。この場合、パッケージ1.1.0.0を1.1.0.1にアップデートすると、パッケージの参照が破られることはありません。Img1.png

関連する問題