中型信任主机上的默认VS2012 ASP.NET网站模板

时间:2013-08-10 13:03:40

标签: asp.net-mvc-4 visual-studio-2012 shared-hosting system.security

我有一个使用VS2012创建的默认ASP.NET网站模板项目。我正在尝试将其发布到1and1.com,其中只允许中等信任。显然,这个模板需要完全信任,但我无法弄清楚我需要做什么。

我得到的错误是......

    [SecurityException: Request for the permission of type 'System.Security.Permissions.TypeDescriptorPermission, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]
   System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) +0
   System.Security.CodeAccessSecurityEngine.Check(PermissionSet permSet, StackCrawlMark& stackMark) +31
   System.Security.PermissionSet.Demand() +68
   System.ComponentModel.TypeDescriptor.AddProviderTransparent(TypeDescriptionProvider provider, Type type) +153
   System.Web.DynamicData.MetaModel.CreateSimpleModel(Type entityType) +77
   System.Web.DynamicData.MetaTable.CreateTable(Type entityType) +9
   System.Web.UI.DataControlExtensions.GetTableFromCache(Type entityType) +64
   System.Web.UI.DataControlExtensions.EnableDynamicData(INamingContainer control, Type entityType) +14

1 个答案:

答案 0 :(得分:0)

从堆栈跟踪中我推断你在网站中使用了DynamicData,并且你说你在Visual Studio中使用了网站模板。

这有几个问题,但您可以尝试以下几点:

1:不要使用网站模板,而是使用Web应用程序模板

2:在部署之前预编译网站

3:将edmx文件从App_Code目录移动到单独的库,编译它并将生成的.dll添加到网站bin文件夹。

Herehere您可以找到有关此问题的更多信息。