16

Visual Studio 2012 で単純な SharePoint 2013 プロジェクトを作成し、それを展開しようとすると、正常に展開されますが、DLL がグローバル アセンブリ キャッシュにありません。[詳細] タブで、展開するプロジェクト アセンブリを追加しました。

ここに画像の説明を入力

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

ここに画像の説明を入力

プロジェクト .NET FW のバージョンは 4.5 です。マシンは仮想マシン 64 ビット、Windows Server 2008 です。また、プロジェクトのプラットフォーム ターゲットを X64 および任意の CPU に変更しようとしましたが、うまくいきませんでした。

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

何か案は?ありがとう。

4

2 に答える 2

36

私はそれをc:\ windows \ assemblyでチェックしています、それはそこにあるはずですよね?

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

于 2012-10-22T12:49:16.913 に答える