web-dev-qa-db-ja.com

DLLがGACに展開されていない-SharePoint 2013、Visual Studio 2012、.Net FW 4.5

Visual Studio 2012で単純なSharePoint 2013プロジェクトを作成して展開したい場合、うまく展開できますが、Dllはグローバルアセンブリキャッシュにありません。 「詳細」タブで、デプロイするプロジェクトアセンブリを追加しました。

enter image description here

別のテストでは、Assembly Deployment TargetオプションをGlobalAssemblyCacheに設定し、Includeパッケージ内のアセンブリからTrueに変更し、最初のシナリオで説明したパッケージからdllを削除しました。

enter image description here

Project .NET FWバージョンは4.5です。マシンは仮想マシン64ビット、Windows Server 2008です。プロジェクトのプラットフォームターゲットをX64およびAny CPUに変更することも試みました。

Gacutilツールを使用して手動でdllを追加しようとしましたが、それもデプロイされていません。それは4.5フレームワークに関連したものでしょうか?また、4.5で作成したDLLを手動で展開することはできませんが、他のすべての作業は展開できます。

何か案は?ありがとう。

16
gradosevic

C:\ windows\Assemblyでチェックしています。そこにあるはずですよね?

いいえ、これは.NETバージョン1.0〜3.5のGACのディレクトリです。 .NET 4.0以降で移動され、現在はc:\ windows\Microsoft.net\Assemblyにあります。エクスプローラーでそのディレクトリを参照できます。GACディレクトリのビューをフラット化したシェル拡張ハンドラーは使用されなくなりました。アセンブリにアンマネージコードが含まれていない場合は、GAC_MSILディレクトリから開始すると、そこから実際のファイルを見つける際にいくつかの問題が発生します。

36
Hans Passant

この問題がありましたが、IISResetで修正されたと思いますか?

イベントレシーバーに変更を加えました。パッケージには、あなたが持っているように、プロジェクトからのアセンブリ出力を追加しました。プロジェクトのプロパティで[パッケージにアセンブリを含める]をFalseに設定しました。

デプロイしましたが、イベントレシーバーの変更が実際に行われているように見えませんでした。

IIS Resetを実行したところ、私の変更を確認できました。

0
user3760332