Я разрабатываю рабочий стол приложения на C # Visual Studio 2017 с .net framework 4.6.1 и использую API данных.
Я использую OData Client Code Generator для создания прокси и использую Trippin Service для симуляции (https://services.odata.org/V4/(S(v35us2ydb4upkphl4id2qpwx))/TripPinServiceRW/).
В моей машине для разработки все отлично. При развертывании на новой машине (Windows 7 + Framework 4.6.1) одним щелчком мыши издатель столкнулся с ужасной проблемой.
System.TypeInitializationException: инициализатор типа для
«ClientEdmModelCache» выдал исключение. --->
System.BadImageFormatException: не удалось загрузить файл или сборку
'System.Linq, версия = 4.0.0.0, культура = нейтральная,
PublicKeyToken = b03f5f7f11d50a3a 'или одна из его зависимостей. Ссылка
сборки не должны быть загружены для выполнения. Они могут быть только
загружается в контексте загрузчика только для отражения. (Исключение из HRESULT:
0x80131058) ---> System.BadImageFormatException: не удается загрузить
эталонная сборка для исполнения.
Ниже приведен простой код только кнопки и списка
private void button1_Click(object sender, EventArgs e)
{
var container = new DefaultContainer(new Uri("https://services.odata.org/V4/(S(v35us2ydb4upkphl4id2qpwx))/TripPinServiceRW/"));
var stores = container.Airlines.ToList();
foreach (var item in stores)
{
listBox1.Items.Add(item.AirlineCode + " - " + item.Name);
}
}
в
Я ожидаю, что результат будет примерно таким
AA - American Airlines
FM - Shanghai Airlines
etc..
См. Конец этого сообщения для получения подробной информации о вызове точно в срок.
(JIT) отладка вместо этого диалогового окна.
************** Текст исключения ************** System.TypeInitializationException: инициализатор типа для
«ClientEdmModelCache» выдал исключение. --->
System.BadImageFormatException: не удалось загрузить файл или сборку
'System.Linq, версия = 4.0.0.0, культура = нейтральная,
PublicKeyToken = b03f5f7f11d50a3a 'или одна из его зависимостей. Ссылка
сборки не должны быть загружены для выполнения. Они могут быть только
загружается в контексте загрузчика только для отражения. (Исключение из HRESULT:
0x80131058) ---> System.BadImageFormatException: не удается загрузить
эталонная сборка для исполнения.
--- Конец внутренней трассировки стека исключений ---
в
Microsoft.OData.Edm.Vocabularies.EdmDirectValueAnnotationsManager.SetAnnotation (IEnumerable`1
неизменные аннотации, объект и переходные аннотации, строка
namespaceName, String localName, Значение объекта)
в
Microsoft.OData.Edm.Vocabularies.EdmDirectValueAnnotationsManager.SetAnnotationValue (IEdmElement
элемент, String namespaceName, String localName, значение объекта,
VersioningDictionary`2 & annotationsDictionary)
в
Microsoft.OData.Edm.Vocabularies.EdmDirectValueAnnotationsManager.SetAnnotationValue (IEdmElement
элемент, String namespaceName, String localName, Значение объекта)
в Microsoft.OData.Edm.ExtensionMethods.SetAnnotationValue (IEdmModel
модель, элемент IEdmElement, строка namespaceName, строка localName,
Стоимость объекта)
в Microsoft.OData.Edm.ExtensionMethods.SetEdmVersion (модель IEdmModel,
Версия версия)
в
Microsoft.OData.Client.DataServiceContext.ClientEdmModelCache.CreateClientEdmModelCache ()
в
Microsoft.OData.Client.DataServiceContext.ClientEdmModelCache..cctor ()