У меня есть относительно простое приложение ASP.net MVC 2, использующее SubSonic. Все, кажется, работает хорошо на местном уровне, но когда я развернуть его WinHost, я получаю исключение, как так:Проблема LINQ при развертывании в WinHost
System.TypeAccessException: Attempt by method 'DynamicClass.lambda_method(System.Runtime.CompilerServices.Closure, System.Data.Common.DbDataReader)' to access type 'System.RuntimeType' failed.
at lambda_method(Closure , DbDataReader)
at SubSonic.Linq.Structure.DbQueryProvider.Project[T](DbDataReader reader, Func`2 fnProjector)
at SubSonic.Linq.Structure.DbQueryProvider.Execute[T](QueryCommand`1 query, Object[] paramValues)
at lambda_method(Closure)
at SubSonic.Linq.Structure.DbQueryProvider.Execute(Expression expression)
at SubSonic.Linq.Structure.QueryProvider.System.Linq.IQueryProvider.Execute[S](Expression expression)
at System.Linq.Queryable.Count[TSource](IQueryable`1 source)
at Foo.Web.Data.Baz.SingleOrDefault(Expression`1 expression)
at Foo.Web.Models.Data.DataFacade.GetBar(Int32 id)
at Foo.Web.Controllers.Baz.Edit(Int32 id)
at lambda_method(Closure , ControllerBase , Object[])
Это, безусловно, голова скребок, как я не знаю, что конкретно я делаю неправильно. Мое предположение заключается в том, что его окружающая среда (возможно, основанная на разрешениях). Я не уверен, что это проблема с запросом LINQ, SubSonic или что-то особенное для WinHost. Кто-нибудь есть идея о том, как я должен подойти к этому или где/в чем проблема? Еще раз приложение работает нормально локально.
Примечание: имена объектов/метод изменяются в образце
Я согласен с ответом, но в итоге решил проблему, перейдя на другой узел. Я не смог точно определить точный вопрос (но я считаю, что доверие к среде было основной причиной). – rifferte