“CreateRiaClientFilesTask”任务意外失败。 未能加载文件程序集“System.ComponentModel.DataAnnotations 处理办法

本文介绍了一个解决错误77“CreateRiaClientFilesTask”任务意外失败的问题,具体操作是清空C:WindowsMicrosoft.NETFrameworkv4.0.30319TemporaryASP.NETFiles目录下的所有文件。通过此方法成功编译项目。
错误 77 “CreateRiaClientFilesTask”任务意外失败。
System.Web.HttpException (0x80004005): 未能加载文件或程序集“System.ComponentModel.DataAnnotations, Version=5.0.5.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217”或它的某一个依赖项。参数错误。 (异常来自 HRESULT:0x80070057 (E_INVALIDARG)) ---> System.Configuration.ConfigurationErrorsException: 未能加载文件或程序集“System.ComponentModel.DataAnnotations, Version=5.0.5.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217”或它的某一个依赖项。参数错误。 (异常来自 HRESULT:0x80070057 (E_INVALIDARG)) ---> System.IO.FileLoadException: 未能加载文件或程序集“System.ComponentModel.DataAnnotations, Version=5.0.5.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217”或它的某一个依赖项。参数错误。 (异常来自 HRESULT:0x80070057 (E_INVALIDARG)) ---> System.IO.FileLoadException: 未能加载文件或程序集“System.ComponentModel.DataAnnotations”或它的某一个依赖项。参数错误。 (异常来自 HRESULT:0x80070057 (E_INVALIDARG))


   --- 内部异常堆栈跟踪的结尾 ---
   在 System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   在 System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   在 System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   在 System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection)
   在 System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
   在 System.Reflection.Assembly.Load(String assemblyString)
   在 System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective)
   --- 内部异常堆栈跟踪的结尾 ---
   在 System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective)
   在 System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory()
   在 System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai)
   在 System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig)
   在 System.Web.Compilation.BuildManager.GetPreStartInitMethodsFromReferencedAssemblies()
   在 System.Web.Compilation.BuildManager.CallPreStartInitMethods(String preStartInitListPath, Boolean& isRefAssemblyLoaded)
   在 System.Web.Compilation.BuildManager.ExecutePreAppStart()
   在 System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException)
   在 System.Web.Compilation.ClientBuildManager.EnsureHostCreated()
   在 System.Web.Compilation.ClientBuildManager.CreateObject(Type type, Boolean failIfExists)
   在 Microsoft.ServiceModel.DomainServices.Tools.CreateRiaClientFilesTask.GenerateClientProxies()
   在 Microsoft.ServiceModel.DomainServices.Tools.CreateRiaClientFilesTask.ExecuteInternal()
   在 Microsoft.ServiceModel.DomainServices.Tools.RiaClientFilesTask.Execute()
   在 Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()

   在 Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__20.MoveNext() Elitel.SystemViewer



问题如上:处理方法:把"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files"目录下的所有文件统统删除,在此编译项目通过了。



   
   
   
   
System.ComponentModel.DataAnnotations
接前面的回复,Program.cs 内容如下: using System; using System.ComponentModel.DataAnnotations.Schema; using System.Data.Entity; using Npgsql; namespace PostgresEFDemo { // 实体类定义 [Table("test_01", Schema = "public")] public class Test01 { [Column("id")] public int Id { get; set; } [Column("name")] public string Name { get; set; } } // 自定义DbConfiguration public class NpgsqlDbConfiguration : DbConfiguration { public NpgsqlDbConfiguration() { SetProviderServices("Npgsql", Npgsql.NpgsqlServices.Instance); SetProviderFactory("Npgsql", Npgsql.NpgsqlFactory.Instance); } } // DbContext定义 [DbConfigurationType(typeof(NpgsqlDbConfiguration))] public class PgDbContext : DbContext { public DbSet<Test01> Test01 { get; set; } // 构造函数硬编码连接字符串 public PgDbContext() : base("Host=192.168.93.194;Port=5432;Database=postgres;Username=dingyi;Password=Hello@1234;") { Database.SetInitializer<PgDbContext>(null); // 禁用迁移初始化 } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.HasDefaultSchema("public"); base.OnModelCreating(modelBuilder); } } // 主程序 class Program { static void Main(string[] args) { using (var context = new PgDbContext()) { var newRecord = new Test01 { Id = 2000, Name = "TEST_EF6" }; context.Test01.Add(newRecord); context.SaveChanges(); Console.WriteLine("数据插入成功!"); } } } } App.config 的内容如下: <?xml version="1.0" encoding="utf-8" ?> <configuration> <system.data> <DbProviderFactories> <remove invariant="Npgsql" /> <add name="Npgsql Provider" invariant="Npgsql" description=".Net Data Provider for PostgreSQL" type="Npgsql.NpgsqlFactory, Npgsql" /> </DbProviderFactories> </system.data> <entityFramework> <providers> <provider invariantName="Npgsql" type="Npgsql.NpgsqlServices, EntityFramework6.Npgsql" /> </providers> </entityFramework> </configuration> 报错2个异常: ConfigurationErrorsException: Configuration system failed to initialize ConfigurationErrorsException: Unrecognized configuration section system.data.
05-28
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值