2010-09-20 3 views
1

У меня есть формы выигрышей Usercontrol, которые внезапно не удалось построить, с этой ошибкой:Дизайнер Winforms не может найти сборку проекта?

Редактировать - забыли упомянуть, название проекта - это Datatesting, это не внешняя ссылка!

Error 1 Invalid Resx file. Could not load type DataTesting.TableColumn, DataTesting, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null which is used in the .RESX file. Ensure that the necessary references have been added to your project. Line 129, position 5. C:\Team Explorer\DataTesting\TableColumnListEditor.resx 129 5 DataTesting 

Переход к ошибке открывает этот раздел TableColumnListEditor.resx:

<data name="tableColumnEditor1.EditingTableColumn" mimetype="application/x-microsoft.net.object.binary.base64"> 
    <value> 
     AAEAAAD/////AQAAAAAAAAAMAgAAAEJEYXRhVGVzdGluZywgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJl 
     PW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwFAQAAABdEYXRhVGVzdGluZy5UYWJsZUNvbHVtbgYA 
     AAAVPE5hbWU+a19fQmFja2luZ0ZpZWxkGDxTcWxUeXBlPmtfX0JhY2tpbmdGaWVsZBs8RmlsbE1ldGhv 
     ZD5rX19CYWNraW5nRmllbGQaPFByZWNpc2lvbj5rX19CYWNraW5nRmllbGQbPElzSWRlbnRpdHk+a19f 
     QmFja2luZ0ZpZWxkGzxJc051bGxhYmxlPmtfX0JhY2tpbmdGaWVsZAEBAQAAAAUBAQIAAAAGAwAAAAAG 
     BAAAAAAGBQAAAAABMAAACw== 
    </value> 
    </data> 

Наконец, когда я пытаюсь открыть конструктор для управления, я получаю эту ошибку:

To prevent possible data loss before loading the designer, the following errors must be resolved: 



    1 Error 

    Ignore and Continue 
    Why am I seeing this page? 

    Unable to find assembly 'DataTesting, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.  

Instances of this error (1) 

1. Show Call Stack 

at System.Runtime.Serialization.Formatters.Binary.BinaryAssemblyInfo.GetAssembly() 
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.GetType(BinaryAssemblyInfo assemblyInfo, String name) 
at System.Runtime.Serialization.Formatters.Binary.ObjectMap..ctor(String objectName, String[] memberNames, BinaryTypeEnum[] binaryTypeEnumA, Object[] typeInformationA, Int32[] memberAssemIds, ObjectReader objectReader, Int32 objectId, BinaryAssemblyInfo assemblyInfo, SizedArray assemIdToAssemblyTable) 
at System.Runtime.Serialization.Formatters.Binary.ObjectMap.Create(String name, String[] memberNames, BinaryTypeEnum[] binaryTypeEnumA, Object[] typeInformationA, Int32[] memberAssemIds, ObjectReader objectReader, Int32 objectId, BinaryAssemblyInfo assemblyInfo, SizedArray assemIdToAssemblyTable) 
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadObjectWithMapTyped(BinaryObjectWithMapTyped record) 
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadObjectWithMapTyped(BinaryHeaderEnum binaryHeaderEnum) 
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run() 
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage) 
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage) 
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream) 
at System.Resources.ResXDataNode.GenerateObjectFromDataNodeInfo(DataNodeInfo dataNodeInfo, ITypeResolutionService typeResolver) 
at System.Resources.ResXDataNode.GetValue(ITypeResolutionService typeResolver) 
at System.Resources.ResXResourceReader.ParseDataNode(XmlTextReader reader, Boolean isMetaData) 
at System.Resources.ResXResourceReader.ParseXml(XmlTextReader reader) 

Help with this error 

MSDN Help 


Forum posts about this error 

Search the MSDN Forums for posts related to this error 

Эта форма отлично работает некоторое время, и я понятия не имею, почему она внезапно сломалась или как исправить эту проблему.

Кто-нибудь еще видел это раньше и, возможно, знает, как это решить?

ответ

3

Вам удалось создать круговую ссылку на проект как-то. Значение ресурса выглядит примерно так, при преобразовании из base64 в байтах:

00000000: 00 01 00 00 00 FF FF FF │ FF 01 00 00 00 00 00 00       
00000010: 00 0C 02 00 00 00 42 44 │ 61 74 61 54 65 73 74 69  BDataTesti 
00000020: 6E 67 2C 20 56 65 72 73 │ 69 6F 6E 3D 31 2E 30 2E ng, Version=1.0. 
00000030: 30 2E 30 2C 20 43 75 6C │ 74 75 72 65 3D 6E 65 75 0.0, Culture=neu 
00000040: 74 72 61 6C 2C 20 50 75 │ 62 6C 69 63 4B 65 79 54 tral, PublicKeyT 
00000050: 6F 6B 65 6E 3D 6E 75 6C │ 6C 05 01 00 00 00 17 44 oken=null D 
00000060: 61 74 61 54 65 73 74 69 │ 6E 67 2E 54 61 62 6C 65 ataTesting.Table 
00000070: 43 6F 6C 75 6D 6E 06 00 │ 00 00 15 3C 4E 61 6D 65 Column <Name 
00000080: 3E 6B 5F 5F 42 61 63 6B │ 69 6E 67 46 69 65 6C 64 >k__BackingField 
00000090: 18 3C 53 71 6C 54 79 70 │ 65 3E 6B 5F 5F 42 61 63 <SqlType>k__Bac 
000000A0: 6B 69 6E 67 46 69 65 6C │ 64 1B 3C 46 69 6C 6C 4D kingField<FillM 
000000B0: 65 74 68 6F 64 3E 6B 5F │ 5F 42 61 63 6B 69 6E 67 ethod>k__Backing 
000000C0: 46 69 65 6C 64 1A 3C 50 │ 72 65 63 69 73 69 6F 6E Field<Precision 
000000D0: 3E 6B 5F 5F 42 61 63 6B │ 69 6E 67 46 69 65 6C 64 >k__BackingField 
000000E0: 1B 3C 49 73 49 64 65 6E │ 74 69 74 79 3E 6B 5F 5F <IsIdentity>k__ 
000000F0: 42 61 63 6B 69 6E 67 46 │ 69 65 6C 64 1B 3C 49 73 BackingField<Is 
00000100: 4E 75 6C 6C 61 62 6C 65 │ 3E 6B 5F 5F 42 61 63 6B Nullable>k__Back 
00000110: 69 6E 67 46 69 65 6C 64 │ 01 01 01 00 00 00 05 01 ingField 
00000120: 01 02 00 00 00 06 03 00 │ 00 00 00 06 04 00 00 00   
00000130: 00 06 05 00 00 00 00 01 │ 30 00 00 0B     0 

Это данные генерируются BinaryFormatter, обратите внимание, что он ссылается на сборку DataTesting, узел, который вы пытаетесь скомпилировать. Это действительно может остаться незамеченным на некоторое время, поскольку DataTesting.dll будет существовать при редактировании вашего проекта. Пока вы не выполните чистую сборку, и DLL больше не будет доступна. Kaboom.

Не знаю, что на самом деле означает ресурс или как он попал в ресурс в первую очередь. Но вам нужно будет вращать любой тип, который хранится здесь, в другой сборке, чтобы он мог быть построен отдельно. Восстановление этой ошибки, короткой от восстановления более ранней версии из SCCS, возможно было бы путем редактирования файла .resx вручную и удаления ресурса.

+1

Хотя я хотел бы знать, что я сделал не так, чтобы добраться до этого момента, переместив ссылочный тип в отдельный проект библиотеки и включив ссылку на него, немедленно очистил это. Спасибо. – asawyer

Смежные вопросы