Входная строка не была в правильном формате ошибки при импорте решения в Microsoft Dynamics 365
В этой статье описано, как устранить ошибку Входная строка не в правильном формате, которая может возникнуть при попытке импортировать решение в Microsoft Dynamics 365.
Применимо к: Microsoft Dynamics 365
Исходный номер базы знаний: 4464324
Симптомы
При попытке импорта решения в Microsoft Dynamics 365 происходит сбой импорта решения со следующим сообщением:
Сбой импорта решения: [имя решения]
Если просмотреть сведения в включенной сетке и выбрать Скачать файл журнала, вы увидите следующие сведения:
Входная строка не была в правильном формате, созданном приложением при обработке пользовательской сборки (подключаемого модуля).
0x80048033 входная строка имеет неправильный формат».
Кроме того, включаются следующие сведения об ошибке:
Microsoft.Crm.Tools.ImportExportPublish.ImportSolutionException: Plugin Assemblies import: FAILURE. Ошибка: подключаемый модуль: СБОРКи, Version=0.0.0.0, Culture=neutral, PublicKeyToken=[token] вызвал исключение. —>
System.FormatException: входная строка имеет неправильный формат.
в System.Text.StringBuilder.AppendFormat(IFormatProvider provider, String format, Object[] args)
в system.String.Format(IFormatProvider provider, String format, Object[] args)
в Microsoft.Crm.ObjectModel.TargetFrameworkVersionValidator.ValidateInternal()
в Microsoft.Crm.ObjectModel.PluginAssemblyServiceInternal’1.ValidateAssemblyMetadata(ExecutionContext context, IBusinessEntity pluginAssembly, CrmPluginAssemblyMetadata assemblyMetadata)
в Microsoft.Crm.ObjectModel.PluginAssemblyServiceInternal’1.VerifyRegistrationAbility(IBusinessEntity pluginAssembly, Boolean createCall, ExecutionContext context)
в Microsoft.Crm.ObjectModel.SdkEntityServiceBase.UpdateInternal(сущность IBusinessEntity, контекст ExecutionContext, boolean verifyAction)
в Microsoft.Crm.ObjectModel.PluginAssemblyServiceInternal’1.Update(IBusinessEntity entity, ExecutionContext context)
в Microsoft.Crm.Tools.ImportExportPublish.ImportPluginAssemblyHandler.ImportItem()
— конец — трассировки внутреннего стека исключений
в Microsoft.Crm.Tools.ImportExportPublish.ImportPluginAssemblyHandler.ImportItem()
в Microsoft.Crm.Tools.ImportExportPublish.ImportHandler.Import()
в Microsoft.Crm.Tools.ImportExportPublish.RootImportHandler.ImportAndUpdateProgress(ImportHandler ih)
в Microsoft.Crm.Tools.ImportExportPublish.RootImportHandler.ProcessNonMetadataHandlers(String[] ImportEntities, ImportHandler& ihForCurrentPath, CounterList listCounters)
в Microsoft.Crm.Tools.ImportExportPublish.RootImportHandler.RunImport(String[] ImportEntities)
в Microsoft.Crm.Tools.ImportExportPublish.ImportXml.RunImport(String[] ImportEntities)
в Microsoft.Crm.Tools.ImportExportPublish.ImportXml.RunImport()
в Microsoft.Crm.Tools.ImportExportPublish.ImportXml.RunImport(boolean withSolutionManifest)
в Microsoft.Crm.WebServices.ImportXmlService.ImportSolutionSkipCapable(Boolean overwriteUnmanagedCustomizations, Boolean publishWorkflows, Byte[] customizationFile, GUID importJobId, Boolean convertToManaged, Boolean skipProductUpdateDependencies, Boolean holdingSolution, ExecutionContext context)
Причина
Эта ошибка может возникнуть, если сборка подключаемого модуля использует более позднюю версию платформа .NET Framework, например 4.6.1 и 4.6.2. В настоящее время Microsoft Dynamics 365 (в сети) поддерживает только сборки пакета SDK для .NET, созданные на основе платформа .NET Framework 4.5.2.
Разрешение
Затронутая сборка должна быть скомпилирована с помощью платформа .NET Framework 4.5.2:
- Откройте Visual Studio.
- Щелкните правой кнопкой мыши проект, содержащий затронутую сборку, и выберите Пункт Свойства.
- Измените целевую платформу на платформа .NET Framework 4.5.2.
Сообщение об ошибке «входная строка имела неверный формат» при отсутствии параметра decimal во время функции службы Web в Microsoft Dynamics NAV 2009
Данная статья относится к Microsoft Dynamics NAV для всех стран и всех языковых стандартов.
Симптомы
Предполагается запустить функцию службы Web с помощью параметра decimal в Microsoft Dynamics NAV 2009. При указании параметра decimal, возвращаемое значение повторяется. Если параметр отсутствует, появляется сообщение об ошибке неправильно:
«Входная строка имела неверный формат». Если параметр имеет тип Int, является ошибка «целое число не должно быть пустым. Целое число отсутствует или является недопустимым в выражении».
Эта проблема возникает в следующих продуктах:
- Microsoft Dynamics NAV 2009 R2
- 2009 г. Пакет обновления 1 для Microsoft Dynamics NAV
Решение
Сведения об исправлении
Существует исправление от корпорации Майкрософт. Имеется раздел «Исправление доступно для загрузки» в верхней части этой статьи базы знаний. Если появляются проблемы загрузки установки исправления или другие вопросы технической поддержки, обратитесь к своему партнеру или зарегистрированы в плане поддержки непосредственно с корпорацией Майкрософт, можно обратитесь в службу технической поддержки Microsoft Dynamics и создайте новый запрос на обслуживание. Чтобы сделать это, посетите следующий веб-узел корпорации Майкрософт:
https://mbs.microsoft.com/support/newstart.aspxМожно также службу технической поддержки для Microsoft Dynamics по телефону с помощью этих ссылок для телефонов конкретной страны. Для этого посетите один из следующих веб-узлах корпорации Майкрософт:
https://mbs.microsoft.com/customersource/support/information/SupportInformation/global_support_contacts_eng.htmВ особых случаях оплата, предусмотренная в службу поддержки может быть отменена Если специалист службы технической поддержки Microsoft Dynamics и связанных продуктов определит, что решения проблемы является специально выпущенное. Затраты на обычные службы поддержки будет применяться к любые дополнительные вопросы и проблемы, которые не соответствуют требованиям особым обновлением.
Как получить исправление Microsoft Dynamics NAV или обновления файлов
После запроса исправления Microsoft Dynamics NAV, гиперссылка будет отправлено вам по электронной почте.
Это сообщение будет содержать гиперссылку и пароль. Можно использовать гиперссылки для загрузки исправления Microsoft Dynamics NAV или файлов обновления. Если щелкнуть гиперссылку, откроется диалоговое окно Загрузка файла — предупреждение безопасности . Затем вы предложение запустить, сохранить или отменить загрузку.
Если нажать кнопку выполнить, начнется процесс извлечения и загрузки. Необходимо указать папку для новых файлов и затем указать пароль.
Если нажать кнопку Сохранить, укажите путь для сохранения сжатого файла. При открытии сохраненного файла, вам будет предложено указать путь к файлам. Затем необходимо указать пароль, полученный в сообщении электронной почты.
Если нажать кнопку Отмена, процесс загрузки прекратится.
Установка исправления Microsoft Dynamics NAV или файл обновления
Обновления и исправления платформы Microsoft Dynamics NAV будут доступны как отдельные файлы. Чтобы установить Microsoft Dynamics NAV исправление или обновление, необходимо заменить существующие файлы установки Microsoft Dynamics NAV с исправление или обновление файлов. Чтобы сделать это, выполните следующие действия.
Шаг 1: Замените файлы в Microsoft Dynamics NAV классический клиент установки
В установке Microsoft Dynamics NAV классический клиент Замените следующие файлы с помощью исправления или обновления файла.
C# System.FormatException: «Входная строка имела неверный формат.»
Здравствуйте, возникла ошибка во время отладки. В самом коде ошибок не было.
using System; namespace Гипер_инстремент < class Program < class Anekdots < string a1; string a2; string a3; public void Anekdot() < a1 = "Новый год — это повод встретиться со всеми родственниками и вспомнить, почему конкретно вы живёте отдельно."; a2 = "Свой первый срок по малолетке я отбывал в углу."; a3 = "В 2 часа ночи во мне просыпается философ, в 3 часа – мечтатель, а в 7 часов – невыспавшийся человек."; int x1 = Convert.ToInt32(a1); int x2 = Convert.ToInt32(a2); int x3 = Convert.ToInt32(a3); Random rnd1 = new Random(); int rn1 = rnd1.Next(x1, x3); Console.WriteLine(rn1); >> static void Main(string[] args) < Console.WriteLine("Что вы хотите ?"); Console.WriteLine("Писать только цифрами"); Console.WriteLine("1.Анекдот"); Console.WriteLine("2.Калькулятор"); Console.WriteLine("3.Загадки"); int nym1 = Convert.ToInt32(Console.ReadLine()); switch(nym1) < case 1: Anekdots p1 = new Anekdots(); p1.Anekdot(); break; >> > >
Отслеживать
28.7k 22 22 золотых знака 61 61 серебряный знак 143 143 бронзовых знака
задан 9 янв 2020 в 8:57
5 1 1 золотой знак 1 1 серебряный знак 4 4 бронзовых знака
код лучше вставлять как текст, а не картинку
9 янв 2020 в 8:59
Так посмотрите что у вас в коде вы строку(string) хотите перевести в цифры(int)
9 янв 2020 в 8:59
А как тогда сделать лучше, OXYGEN? Я просто новенький в C#
9 янв 2020 в 9:04
Здравствуйте, возникла ошибка во время отладки. В самом коде ошибок не было. в сомом коде хватает ошибок, у вас тоже самое с х1 х2 х3
9 янв 2020 в 9:05
String не совместим с Int в данном случае. Ошибка возникла во время отладки, потому что это ошибка компиляции, так как для компилятора нормально, что вы пытаетесь преобразовать string в int, но в вашем случае он не может сопоставить буквам цифры, поэтому и выдает значение. Судя по вашему коду, вам нужно добавить параметр в метод Anekdots, и в зависимости от цифры 1-3, выводить на консоль один из анекдотов.
Входная строка имела неверный формат. В чём ошибка?
Почему собственно неверный формат, вроде всё правильно.
P.S пример из книги Andrew Troelsen. Pro C# and .NET4.5
- Вопрос задан более трёх лет назад
- 24554 просмотра
Комментировать
Решения вопроса 1
double d = double.Parse("1,1"); Console.WriteLine("Value of d: ", d);
Все дело в локализации которая установлена в операционной системе. Если ru, то запитая, если eng, то точка.
Ответ написан более трёх лет назад
Нравится 1 2 комментария
Демид Бородин @demidborodin Автор вопроса
Вот уж не думал что от локализации зависит, поставлю всё таки английский интерфейс. Спасибо 🙂
Алексей Немиро @AlekseyNemiro
Демид Бородин: о, хороший повод мне поспамить 🙂
Недавно выпустил класс, который, помимо прочего, содержит методы для обработки чисел с плавающей точкой, независимо от разделителя.
Исходный код открыт. Методы для Double можно найти тут. Код обработки чисел можно найти в файле Convertion.cs, там все просто, разделитель меняется на правильный при помощи регулярных выражений:
/// /// Returns a string containing a number. /// /// The value for processing. private static string GetNumber(object value) < if (!Convertion.HasValue(value)) < return "0"; >return Regex.Replace(Regex.Replace(value.ToString(), @",|\.", NumberFormatInfo.CurrentInfo.CurrencyDecimalSeparator), @"\s+", ""); >
Ответы на вопрос 1
Если вы точно уверены, что у вас всегда будет точка в качестве разделителя запятой, то вам проще всего будет задать инвариантную культуру.
double d = double.Parse("1.1", CultureInfo.InvariantCulture);
Если всегда запятая, но не уверены, что будет стоять русская локализация в системе:
double d = double.Parse("1,1", CultureInfo.GetCultureInfo("Ru-ru"));
Ответ написан более трёх лет назад
Комментировать
Нравится 2 Комментировать
Ваш ответ на вопрос
Войдите, чтобы написать ответ
- C#
- +1 ещё
Почему в Unity очень низкое качество?
- 1 подписчик
- 4 часа назад
- 82 просмотра