我複製一個ASP.NET應用程序的DLL到\的Inetpub \ wwwroot的\ bin和2007年的Sharepoint模板\ Layouts文件夾下複製應用程序文件夾,這樣我就可以訪問申請http://sp-portal/sites/sitecoll123/_layouts/aspnetapp/Default.aspx
。它抱怨說:兩個GAC和的Inetpub需要ASP.NET DLL wwwroot的 BIN
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)
然後,我複製回該DLL到\的Inetpub \ wwwroot的\ BIN,同時還留下安裝在GAC以及組裝。只有那麼它的工作!我無法解釋這一點......我認爲在GAC中這是讓組件易於訪問的快速和骯髒的方式。爲什麼它需要在兩個地方?這是SharePoint下_layouts安裝了ASP.NET 3.5應用/ MOSS 2007
也許GAC和BIN文件夾中DLL的版本不同? – ronen
它們都是1.0.0.0。我也很想知道這一點,但事實上這兩者都無法自行工作,這使得這一切更加令人困惑! –