ASP.NET アプリケーション DLL を \Inetpub\wwwroot\bin にコピーし、そのアプリケーション フォルダーを SharePoint 2007 TEMPLATES\Layouts フォルダーの下にコピーしたので、.NET からアプリケーションにアクセスできましたhttp://sp-portal/sites/sitecoll123/_layouts/aspnetapp/Default.aspx
。それは次のように不平を言った:
Request for the permission of type 'System.Data.SqlClient.SqlClientPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed. at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet)
次に、DLL を GAC にインストールしましたが (\inetpub\wwwroot\bin フォルダーから削除した後)、DLL をロードできませんでした。それは次のように不平を言った:
Could not load type 'AppNS.Default'. at System.Web.UI.TemplateParser.GetType(String typeName, Boolean ignoreCase, Boolean throwOnError)
次に、アセンブリを GAC にインストールしたまま、DLL を \Inetpub\wwwroot\bin にコピーし直しました。それだけでうまくいきました!これを説明することはできません... GACに入れることは、アセンブリに簡単にアクセスできるようにするための迅速で汚い方法だと思いました。なぜ両方の場所にある必要があるのですか?これは、Sharepoint/MOSS 2007 の _layouts の下にインストールされた ASP.NET 3.5 アプリケーションです。