내 Windows 서비스는 .NET 응용 프로그램입니다. 이 서비스는 EF 4.3 Code First를 사용하는 데이터 액세스에 의존합니다. 내 서비스가 실행되고 데이터에 액세스하려고하면 다음 오류가 발생합니다. FullPurgeAndReplace()에서 발생프로덕션 (Win2008R2/64bit)에서는 Dev (Win7/64bit)에서 Decimal이 기본 키로 작동합니다. 공용 언어 런타임에서 잘못된 프로그램이 발견되었습니다.
오류 : System.InvalidProgramException : 공용 언어 런타임은 유효하지 않은 프로그램을 발견했습니다. System.Data.Common.Internal.Materialization.Shaper.HandleEntityAppendOnly [TEntity (Func을
2 constructEntityDelegate, EntityKey entityKey, EntitySet entitySet)
1.ReadNextElement에서 lambda_method에서 System.Data.Entity.DynamicProxies.MOMInventoryItem_3ED5D5176D2C03867C62DD8E4381A882350CFD9CD931F3CD551623A6EF5C4D8E.set_Id ( 진수) (클로저 셰이퍼()에서 셰이퍼 동일한 시스템에서 성형기) System.Data.Common.Internal.Materialization.Shaper
at lambda_method(Closure , Shaper) at System.Data.Common.Internal.Materialization.Coordinator1.SimpleEnumerator.MoveNext() at System.Collections.Generic.List
1..ctor (IEnumerable을1 collection)
소스 1) ...의 더 제거
at System.Linq.Enumerable.ToList[TSource](IEnumerable
난 의존하는 웹 애플리케이션을 동일한 데이터 액세스 프로젝트에서 문제없이 실행됩니다. IIS의 해당 웹 사이트 각 응용 프로그램 풀에 대해 32 비트 응용 프로그램 사용 확인란을 선택했는지 확인합니다.
문제점을 조사한 결과 오류 (MOMInventoryItem)의 엔터티에 10 진수 기본 키가 있음을 알 수있었습니다. 기존 시스템과 통합되므로 선택의 여지가 없습니다. 그러나 그것은 1 년 전에 나온 known issue with EF 4.0 일 것으로 추정되며 지금은 해결 될 것으로 기대됩니다.
[Table("STOCK")]
public class MOMInventoryItem
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.None), Column("STOCK_ID")]
public virtual decimal Id { get; set; }
는 다시,이 IIS에서 호스팅 MVC 응용 프로그램을 통해 잘 작동하지만 Windows 서비스로 실패, 모두 동일한 Windows 2008 R2 서버 : 여기
내 법인에서 일부 코드입니다. 또한 내 DEV 컴퓨터 (Win7/VS11)에서도 작동합니다. 내 문제는 무엇이며 영구적으로 해결할 수 있습니까?언제나 도움이 되었기 때문에 가능한 한 도움을 주시면 최대한 도움을 주실 수 있습니다.
65 비트 OS를 실행하고 싶습니다. 이 짐승은 어디에서 찾을 수 있습니까? Best Buy는 64 비트 Windows 만 제공합니다. 응. 나는 그 여분의 작은 조각을 필요로한다! –
LOL, 네, 제목을 고쳤습니다, Dan-o에게 감사합니다! – kingdango
아우 맨. 그냥 오타! 디지털 일루미네이션으로 어떤 종류의 비밀스런 사회가 있다고 생각하고 장자를 팔았습니다. :) –