Невозможно обработать файл form1 resx, так как он находится в Интернете
Обновлено: 21.11.2024
В следующих главах шаг за шагом описывается локализация Windows Forms.
В конце документа есть ссылки для получения полного исходного кода примеров. После прочтения этого документа мы рекомендуем ознакомиться с руководством по использованию Soluling.
Процесс локализации
Вы можете локализовать приложения Windows Forms, используя следующие методы:
1. Метод локализации файла проекта или решения Visual Studio
Если у вас есть несколько файлов проекта, вы можете добавить файл решения Visual Studio (.sln) вместо отдельных файлов проекта. Предположим, вы позже добавите новые проекты в свое решение. В этом случае вам не нужно ничего добавлять в свой проект Soluling, потому что Soluling автоматически найдет последние элементы из файла решения и добавит их в проект. Результат, который вы получите, используя файл решения Visual Studio вместо отдельных файлов проекта, будет таким же. Ваш проект Soluling будет содержать те же исходники, вы можете настроить их таким же образом, и выходные файлы будут такими же. Поддержка файла решения Visual Studio упростит вам задачу.
2. Способ локализации файла сборки
Помимо создания вспомогательных файлов сборки, Soluling также может создавать локализованные файлы сборки. Разница в том, что файл локализованной сборки является идентичной копией исходной сборки. Он содержит те же сегменты кода, что и оригинал. Вы можете заменить исходную сборку локализованной сборкой, ничего не сломав. Вы развертываете файл локализованной сборки без исходного файла сборки. Файлы вспомогательной сборки, с другой стороны, содержат только ресурсы. Они не содержат никакого кода. Они не запускаются отдельно, но всегда должны развертываться вместе с исходным файлом сборки. По умолчанию Soluling создает файлы спутниковой сборки. Вы можете изменить это с помощью выходного листа диалогового окна «Источник».
3. Метод локализации файла ресурсов
Если вы используете этот метод, вы можете настроить Visual Studio для компиляции файлов спутниковой сборки.
Создание проекта Soluling
Внимание! Soluling нуждается в скомпилированных сборках в процессе сборки. Перед началом локализации убедитесь, что вы создали проект Visual Studio. Если нет, запустите Visual Studio и выберите Build | Меню "Создать решение" для сборки.
Выберите типы ресурсов, которые вы хотите локализовать. В большинстве случаев для локализации достаточно типов по умолчанию (ResX и Form). Нажмите кнопку "Далее. Если вы ранее локализовали свое приложение, у вас могут быть локализованные файлы .resx. В этом случае Soluling находит существующий локализованный файл. Если найден хотя бы один файл, мастер проектов отобразит следующую страницу.
Нажмите «Далее». Появится страница Языки. Если существующие языки не найдены, список языков изначально пуст. Если существующие языки были найдены, список содержит их. В любом случае вы можете добавить любое количество целевых языков.
Наконец, нажмите «Готово», чтобы завершить мастер проектов. Ваш новый проект Soluling готов.
Правила сканирования
Soluling использует правила сканирования, чтобы указать, какие компоненты и свойства локализуются и как они локализуются. Ресурсы форм являются наиболее важным типом ресурсов приложений Windows Forms. Вы используете Visual Studio для создания и редактирования форм. Каждая форма хранится в файлах форм (.resx и .Design.cs/Design.vb). Файл .resx использует стандартный формат resx для хранения большинства свойств компонента в форме. Некоторые свойства не записываются в .resx, но жестко запрограммированы в файлы *.Design.cs или *.Design.vb. Только данные в .resx могут быть локализованы. К счастью, почти все свойства, которые могут нуждаться в локализации, хранятся в .resx, а не в *.Design.cs. В некоторых редких случаях вам может понадобиться локализовать свойство, хранящееся в *.Design.cs (например, свойство цвета). Это невозможно сделать, но вы должны добавить значение свойства в пользовательский файл .resx и во время выполнения прочитать значение из файла .resx и присвоить его свойству.
Свойства строкового типа
Правила работают таким образом, что по умолчанию все свойства строкового типа локализованы, а все остальные свойства не локализованы. Этот метод получает следующие строковые свойства:
Свойство | Значение |
---|---|
Текст | Форма | tr>
метка1.Текст | Это образец |
button1.Text | &Get |
folderBrowserDialog1.SelectedPath | C:\MyDataFiles |
Все три свойства Text должны быть переведены. Однако свойство SelectedPath не должно быть локализовано. Чтобы сделать это возможным, правила свойств сканирования Windows Forms могут содержать правила исключений. Они определяют те свойства строкового типа, которые не локализованы (помните, что по умолчанию все свойства строкового типа локализованы). По умолчанию правила содержат исключения для всех тех свойств Windows Forms, которые не следует локализовать. Например,
Имя компонента | Имя свойства |
---|---|
System.Windows.Forms.FolderBrowserDialog | < td>SelectedPath
Приведенное выше правило исключает свойство SelectedPath диалогового окна FolderBrowserDialog.
Внимание! Имя компонента — это имя типа компонента. Например, имя типа элемента управления меткой Windows Forms — System.Windows.Forms.Label.
Другие свойства
Очень редко требуется локализация свойств, отличных от показанных выше. Если да, то Солулинг справится. Другие типы свойств, такие как перечисления и числа, не локализуются, если вы не добавите их в правила свойств сканирования.
Локализуемое свойство
Чтобы изменить свойство Localizable на true, откройте свой проект, выберите каждую форму и пользовательский элемент управления и убедитесь, что для свойства Localizable установлено значение true.
Изменение языка среды выполнения
Вы можете получить Soluling API в виде пакета NuGet.
Добавление вышеуказанного пакета в ваш проект добавляет в ваш проект несколько ссылок на сборки Soluling. Вы можете удалить ссылки, которые вам не нужны.
Вместо пакета NuGet вы можете добавить в свое решение следующие проекты:
Проект | Описание |
---|---|
\Library\NET\Standard\Soluling.csproj | Библиотека решений. Всегда добавляйте это. |
\Library\NET\Translator\Forms\SolulingTranslatorForms.csproj | Переводчик Windows Forms. Добавьте это, если вы используете Windows Forms. |
\Library\NET\Translator\Forms\SolulingTranslatorForms.csproj | Переводчик WPF. Добавьте это, если вы используете WPF. |
Затем в основном проекте добавьте ссылки на вышеуказанные проекты.
Soluling.Forms.Translator — это класс, который переводит формы. Soluling.Resources — это класс, который работает с файлами спутниковой сборки. Наконец, Soluling.Forms.SelectLanguage содержит диалоговое окно, которое показывает доступные языки и позволяет пользователю выбрать новый язык.
Добавить изменение языка среды выполнения очень просто. Как минимум, для этого требуется добавить в приложение только одну строку кода.
Это просто!
Перевод формы требует дополнительных пояснений. Soluling.SelectLanguage.Select вызывает функцию Soluling.Forms.Translator.SetUserInterfaceLanguage, которая выполняет загрузку ресурсов, и вызывает функцию Soluling.Forms.Translator.Translate, которая переводит существующие формы. Очень важно понять, что здесь происходит. Soluling считывает локализованные данные формы из файла вспомогательной сборки. Это означает, что все компоненты и свойства формы, существующие в данных локализованной формы, будут переназначены. Однако если вы изменили какое-либо значение свойства из кода, например, в событиях «Загрузить» или «Показать», значения свойств не изменятся. Если эти так называемые динамические значения свойств необходимо локализовать, вам придется установить их снова после смены языка. Давайте рассмотрим пример.
\Samples\WindowsForms\LanguageSwitch содержит простое приложение, использующее смену языка во время выполнения. Form1_Load устанавливает начальное значение label2.Content.
Когда приложение загружено, форма не такая, как во время разработки. Состояние времени разработки — это состояние, существующее в файле .resx (например, данные формы). Свойство Text элемента управления label2 было изменено во время выполнения. Когда происходит изменение языка, Soluling автоматически обновляет статические свойства (например, те, которые существуют в данных формы), но не изменяет эти динамические свойства. Вот почему вы должны установить их снова. Следующий код изменяет язык и переводит динамические свойства.
SelectLanguage.Select изменяет язык, а UpdateItems сбрасывает динамические свойства, используя новый язык.
Теперь наше приложение работает. Может показаться немного сложным, что вы должны помнить о сбросе любых динамических свойств после смены языка. Однако в большинстве случаев процедура смены языка находится в главном меню или в главном окне. В такой ситуации у вас в данный момент существует только одно окно, поэтому вам нужно позаботиться только о динамических свойствах этой формы.Все другие формы, которые вы создадите после смены языка, будут автоматически использовать новый язык.
Предположим, вы хотите сохранить выбранный язык, чтобы при следующем запуске приложения оно использовало ранее выбранный язык. Сохраните это в постоянном хранилище, например, в настройках приложения. При желании вы можете использовать другие хранилища, такие как системный реестр, файл INI/XML/JSON/YAML или базу данных. В следующем примере для сохранения языка используются стандартные настройки приложения.
Класс Soluling.Language содержит статическое свойство Culture, которое содержит сведения о культуре текущего языка. Наконец, в файле Program.cs вы читаете сохраненный язык и устанавливаете исходный язык приложения.
Если вы используете WPF, прочтите это.
Скомпилировать файлы спутниковой сборки
Если вы используете локализацию сборки или проект Visual Studio или метод локализации решения, Soluling автоматически скомпилирует вспомогательные сборки или локализованные сборки в процессе сборки. Если вы используете метод локализации файла ресурсов, вы должны заставить Visual Studio компилировать вспомогательные сборки. К счастью, это очень легко. Все, что вам нужно сделать, это добавить все локализованные файлы .resx в ваш проект Visual Studio. В следующий раз, когда Visual Studio создаст сборку, она также создаст вспомогательные сборки.
На следующем изображении показан проект с двумя исходными файлами ресурсов: Properties\Resources.resx и Form1.resx. Кроме того, проект содержит финскую версию этих файлов ресурсов: Properties\Resources.fi.resx и Form1.fi.resx.
В следующий раз, когда вы будете собирать проект, Visual Studio создаст не только основную сборку VisualStudioCompile.exe, но и вспомогательную сборку на финском языке fi\VisualStudioCompile.resources.dll. Всякий раз, когда вы добавляете новые языки или новые файлы ресурсов, не забывайте включать новые файлы в проект.
Сторонние компоненты
Первая возможная проблема заключается в том, что компонент не записывает данные свойства в форму. Если его нет в форме, Soluling не сможет его локализовать. Если значение свойства не отображается в вашем проекте, даже если у вас есть правильное правило сканирования, убедитесь, что файл формы содержит это значение. Затем убедитесь, что правила сканирования включают это свойство, а не исключают его.
Еще одна возможная проблема заключается в том, что свойство написано правильно, но использует не стандартный тип данных, а собственный двоичный формат. Soluling может правильно читать многие двоичные форматы, но если формат неизвестен Soluling, он не может его проанализировать, но игнорирует это свойство. Здесь у вас есть два варианта. Первый — связаться с нами и предоставить образец, который мы можем использовать. Если компонент широко используется и у нас может быть полный исходный код компонента (например, поставщик компонента прислал его нам), мы можем реализовать анализатор для этого конкретного формата. Другим решением является установка значения свойства не во время разработки, а во время выполнения. Таким образом, вы можете хранить данные в стандартных строковых ресурсах и использовать эти данные для установки проприетарного свойства. Soluling может локализовать стандартные строковые ресурсы.
У некоторых сторонних компонентов есть проблемы с разными языковыми настройками. Они могут работать правильно, если выбран английский язык, но могут не работать на японском языке. Вот почему мы хотим протестировать все основные сторонние компоненты. В следующем списке перечислены библиотеки компонентов сторонних разработчиков, которые мы протестировали и нашли локализуемыми.
Библиотека компонентов | Примечания |
---|---|
Компоненты DevExpress WinForms |
Даже если в приведенном выше списке нет библиотеки компонентов, вы все равно можете использовать Soluling для локализации своего приложения. Если вашей библиотеки компонентов нет в приведенном выше списке, обратитесь к поставщику библиотеки и попросите его присоединиться к нашей программе сторонних компонентов.
Редактор Windows Forms от Soluling использует собственные компоненты Windows Forms для отображения форм. Soluling не содержит файлы сборки для сторонних компонентов. Это означает, что редактор пытается эмулировать сторонние компоненты, используя правила сопоставления. Если для определенного компонента нет правила и сопоставление не может быть автоматически обнаружено по имени класса компонента, редактор показывает красный прямоугольник на месте компонента.
Файлы, которые необходимо развернуть
При развертывании многоязычного приложения необходимо развернуть файлы вспомогательной сборки. Для каждого языка существует один файл сборки.
Возьмите эти выходные файлы сборки спутников и разверните их вместе с другими файлами.
Образцы
Samples.sln – это файл решения Visual Studio 2019, содержащий все приведенные выше примеры. Примеры написаны в Visual Studio 2019, но файлы совместимы со старой версией Visual Studio.Каждый каталог проекта содержит файл проекта Soluling, который локализует сборку, найденную в каталоге выпуска проекта (например, bin\Release).
Как настроить локализацию
Мастер проектов запрашивает у вас некоторые параметры при создании нового проекта. Однако Soluling позволяет настроить локализацию на очень детальном уровне. После создания проекта вы можете просматривать и изменять конфигурацию каждого файла проекта. Выберите файл, щелкните правой кнопкой мыши и выберите Параметры
.Настройка локализации файла проекта Visual Studio
Вы можете настроить способ локализации файла проекта Visual Studio, выбрав элемент в дереве проекта, щелкнув правой кнопкой мыши и выбрав меню Параметры. Появится исходное диалоговое окно, позволяющее редактировать параметры. В этом источнике используются следующие листы опций.
Настройка локализации файла решения Visual Studio
Вы можете настроить способ локализации файла решения Visual Studio, выбрав элемент в дереве проекта, щелкнув правой кнопкой мыши и выбрав меню Параметры. Появится исходное диалоговое окно, позволяющее редактировать параметры. В этом источнике используются следующие листы опций.
Настройка локализации файла сборки
Настройка локализации файла ресурсов
Вы можете настроить способ локализации файла ресурсов Windows Forms, выбрав элемент в дереве проекта, щелкнув правой кнопкой мыши и выбрав меню Параметры. Появится исходное диалоговое окно, позволяющее редактировать параметры. В этом источнике используются следующие листы опций.
Я работаю над подключаемым модулем Outlook VSTO как частью продукта, который мы продаем в As-tech. Часто при попытке собрать или опубликовать плагин я сталкивался с ошибкой, жалующейся на то, что проект не может быть собран, потому что один из файлов ресурсов имеет пометку сети (см. ниже):
Он утверждает, что для обработки файла мне нужно удалить Метку Интернета, но вскоре, когда я столкнулся с этой ошибкой, стало очевидно, что это не обязательно простой процесс.
Что такое Знак Интернета?
Знак сети — это функция, введенная Microsoft для определения происхождения файла. Если файл был загружен из Интернета или из другого места в сети, он будет содержать комментарий в файле, идентифицирующий зону, из которой файл был загружен. В зависимости от этой зоны (например, интранет, Интернет и т. д.) Windows будет обрабатывать файл соответствующим образом, чтобы пользователи не могли запускать или открывать потенциально опасные файлы из ненадежных источников.
Но почему я получаю эту ошибку?
Знак Интернета — отличная функция, но она совершенно не нужна и сбивает с толку, когда мы видим ее в Visual Studio при создании проекта. Но не бойтесь, есть несколько решений для устранения этой ошибки. К сожалению, не существует единственного решения, которое работает каждый раз, поэтому я попытался перечислить все возможные решения, которые я нашел в Интернете, а также мои собственные решения проблемы в надежде, что одно из них сработает для вас.
Решения
Я перечислил решения от самых распространенных и известных решений до менее известных решений. Надеюсь, вам подойдет одно из наиболее распространенных решений.
Решение 1. Разблокируйте файл
Самое распространенное решение этой ошибки — просто разблокировать файл. Когда вы загружаете файл из сетевого расположения, Windows помечает его как заблокированный, и вам необходимо явным образом разблокировать его.
Совет. Разблокируйте сразу несколько файлов
Если у вас довольно много подозрительных файлов, вы можете запустить команду Powershell в каталоге со всеми подозрительными файлами, чтобы разблокировать их все сразу.
Для этого откройте Powershell и выполните следующую команду:
Это должно разблокировать все файлы в каталоге, а также в любых подкаталогах.
Решение 2. Убедитесь, что файл не синхронизируется какой-либо службой онлайн-хранилища
Если вы используете OneDrive или Google Drive Sync на своем компьютере, убедитесь, что файл не синхронизируется ни одной из этих служб. Когда эти службы загружают и скачивают файлы, файлы могут получить пометку Интернета, что не позволит вам использовать их для создания.
В этом случае скопируйте файлы в каталог, который не синхронизируется, а затем разблокируйте все файлы, как показано в Решении 1.
Решение 3. Воссоздайте проблемный файл
Если после загрузки файл имеет Знак Интернета, вы можете создать новый файл с точно таким же именем, а затем скопировать содержимое загруженного файла в новый файл.
- Переименуйте загруженный файл и добавьте что-то вроде _old в конец имени файла, чтобы можно было создать новый файл.
- Создайте новый файл, щелкнув папку правой кнопкой мыши и выбрав "Создать" -> "Текстовый документ".
- Переименуйте текстовый документ в старое имя файла (убедитесь, что вы также изменили расширение на соответствующее расширение файла)
- Откройте старый файл и только что созданный файл, скопируйте содержимое старого файла в новый файл и сохраните его.
Это решение немного запутанно, но в некоторых случаях оно работает.
Решение 4. Удалите файл db.lock в папке решения
Еще одно решение — удалить файл db.lock, который существует в папке .vs в вашем папка решения. Это немного похоже на черную магию, но, как сообщается, это решило проблему для некоторых людей.
Решение 5. Очистите проект и перестройте его
Иногда необходимо очистить проект перед его перестроением, чтобы устранить ошибку. При очистке решения удаляются все остаточные файлы, оставшиеся после предыдущих сборок. Это дает вам чистый лист для создания проекта.
Закрытие
Надеемся, что одно из этих решений решило вашу проблему. Эта проблема действительно доставила мне много головной боли. Если вы найдете другое решение проблемы, оставьте его в комментариях ниже, чтобы помочь другим.
Отказ от ответственности
Я не беру на себя ответственность за любой ущерб или потерю файлов, произошедшие при попытке использовать вышеуказанные решения. Пожалуйста, делайте резервные копии своих файлов и помните о последствиях любых ваших действий.
Я попытался скомпилировать последнюю фиксацию и получил следующие ошибки:
Код серьезности Описание Состояние подавления строки файла проекта
Ошибка Не удалось обработать файл Form1.resx из-за того, что он находится в Интернете или имеет ограничения зоне или имеющих отметку паутины на файле. Снимите отметку сети, если вы хотите обработать эти файлы. Ledybot
Код серьезности Описание Состояние подавления строки файла проекта
Ошибка Не удалось обработать файл BanlistDetails.resx из-за того, что он находится в Интернете или в зоне ограниченного доступа или имеет отметку Интернета на файле. Снимите отметку сети, если вы хотите обработать эти файлы. Ledybot
Код серьезности Описание Состояние подавления строки файла проекта
Ошибка Не удалось обработать файл GDInput.resx из-за того, что он находится в Интернете или в зоне ограниченного доступа или имеет отметку Интернета на файле. Снимите отметку сети, если вы хотите обработать эти файлы. Ledybot
Код серьезности Описание Состояние подавления строки файла проекта
Ошибка Не удалось обработать файл BLInput.resx из-за того, что он находится в Интернете или в зоне ограниченного доступа или имеет отметку Интернета на файле. Снимите отметку сети, если вы хотите обработать эти файлы. Ledybot
Код серьезности Описание Состояние подавления строки файла проекта
Ошибка Не удалось обработать файл GiveawayDetails.resx из-за того, что он находится в Интернете или в зоне ограниченного доступа или имеет отметку Интернета на файле. Снимите отметку сети, если вы хотите обработать эти файлы. Ledybot
Код серьезности Описание Состояние подавления строки файла проекта
Предупреждение CS0414 Поле «GTSBot7.val_BoxScreen» назначено, но его значение никогда не используется LedyLib C:\Users\xxx\Desktop\Ledybot-master\LedyLib\ GTS7Bot.cs 65 Active
Код серьезности Описание Состояние подавления строки файла проекта
Предупреждение CS0414 Поле «GTSBot7.val_system» назначено, но его значение никогда не используется LedyLib C:\Users\xxx\Desktop\Ledybot- master\LedyLib\GTS7Bot.cs 66 Активно
Код серьезности Описание Состояние подавления строки файла проекта
Предупреждение CS0414 Поле 'GTSBot7.val_duringTrade' назначено, но его значение никогда не используется LedyLib C:\Users\xxx\ Desktop\Ledybot-master\LedyLib\GTS7Bot.cs 67 Активно
Код серьезности Описание Состояние подавления строки файла проекта
Предупреждение CS0414 Поле 'GTSBot7.queueAttempts' назначено, но его значение никогда не используется LedyLib C:\ Users\xxx\Desktop\Ledybot-master\LedyLib\GTS7Bot.cs 90 Active
Код серьезности Описание Строка файла проекта Состояние подавления
Предупреждение CS0169 Поле «NTR.lastReadMemSeq» никогда не используется LedyLib C:\Users\xxx\Desktop\Ledybot-master\LedyLib\NTRClient.cs 85 Активно
Код серьезности Описание Подавление строки файла проекта Состояние
Предупреждение CS0067 Событие 'RemoteControl.onWriteLastLog' никогда не используется LedyLib C:\Users\xxx\Desktop\Ledybot-master\LedyLib\RemoteControl.cs 40 Активно
Код серьезности Описание Состояние подавления строки файла проекта
Предупреждение CS0067 Событие 'RemoteControl.onWaitingForData' никогда не используется LedyLib C:\Users\xxx\Desktop\Ledybot-master\LedyLib\RemoteControl.cs 41 Активно
Код серьезности Описание Состояние подавления строки файла проекта < br />Предупреждение Упомянутый компонент Newtonsoft.Json не найден. Ледибот
Кроме того, Visual Studio говорит, что должен быть LedyDisc, но его там нет? Кстати, я никогда не компилировал проект раньше
Текст был успешно обновлен, но возникли следующие ошибки:
Комментарий StarProgamGamer от 1 декабря 2018 г.
Как это сделать?
Комментарий StarProgamGamer от 1 декабря 2018 г.
И я думаю, что не загрузил последнюю версию должным образом, когда я это сделал, так как у меня было меньше ошибок, когда я делал это через github
Прокомментировал Bappsack 1 декабря 2018 г.
Щелкните правой кнопкой мыши основной проект Ledybot (Project Explorer) -> Восстановить пакеты Nuget.
Комментарий StarProgamGamer от 1 декабря 2018 г.
Итак, мне удалось скомпилировать последний коммит, но он не подключается к моей 2ds
Прокомментировал Bappsack 1 декабря 2018 г.
работает ли NTR + перенаправление ввода?
2ДС? Вы использовали обе версии Mode3?
Свернуть игру с Home. подключитесь, откройте Game ИЛИ Connect перед загрузкой сохранения.
Комментарий StarProgamGamer от 1 декабря 2018 г.
Я использовал режим ntr 3, но в luma 9.1 встроено перенаправление ввода, поэтому я использую его
Комментарий StarProgamGamer от 1 декабря 2018 г.
Я должен использовать 3.6 для ntr?
Прокомментировал Bappsack 1 декабря 2018 г.
да, luma IR не работает с NTR
Комментарий StarProgamGamer от 1 декабря 2018 г.
О, так где я могу получить перенаправление ввода в режиме 3? Там, где я скачал, была только одна версия
LEAN — это система алгоритмической торговли с открытым исходным кодом, на которой работает QuantConnect. Компания LEAN, основанная в 2013 году, была создана глобальным сообществом из более чем 80 инженеров и сегодня поддерживает более дюжины хедж-фондов.
Соревнование Alpha League: еженедельный призовой фонд в размере 1000 долларов США
Квалификационные альфа-потоки повторяются еженедельно. Подробнее
Фильтровать обсуждения по тегам
Послы сообщества
Зарабатывайте бесплатные облачные кредиты QuantConnect, помогая другим. Каждую неделю мы раздаем кредиты самым активным участникам сообщества.
194 506 квантов.
Сейчас в сети
Оставайтесь на связи
Будьте в курсе всех последних обновлений, получая оповещения по электронной почте или присоединяясь к нашему серверу Discord.
Ошибка MSB3821: не удалось обработать файл WinForms\LeanWinForm.resx
Начало:
После загрузки LEAN и открытия его в Visual Studio (я все еще использую VS 2017) при первой попытке его сборки может возникнуть следующая ошибка:
ошибка MSB3821: Не удалось обработать файл WinForms\LeanWinForm.resx из-за того, что он находится в Интернете или в зоне ограниченного доступа, или на файле есть пометка Интернета
Исправление, которое я нашел для этого, состоит в том, чтобы найти файл в базе кода (.\Lean-master\UserInterface\WinForms\), щелкнуть правой кнопкой мыши имя файла (LeanWinForm.resx) и выбрать свойства. В правом нижнем углу панели свойств вы увидите флажок для опции «Разблокировать». Установите флажок, чтобы установить его, сохраните свойства, а затем перестройте LEAN. Это должно позволить вам построить без ошибки.
Примечание: после того, как вы отметите этот параметр, если вы снова откроете свойства, окно параметра не будет отображаться.
Ссылка: ссылка ниже на StackOverflow, 2-й ответ.
Материал на этом веб-сайте предоставляется только в информационных целях и не является предложением о продаже, предложением купить, рекомендацией или одобрением какой-либо ценной бумаги или стратегии, а также не является предложением предоставить консультационные услуги по инвестициям. от КвантКоннект. Кроме того, в материале не содержится мнения относительно пригодности какой-либо ценной бумаги или конкретной инвестиции. QuantConnect не дает никаких гарантий относительно точности или полноты представлений, выраженных на веб-сайте. Мнения могут быть изменены и могут стать ненадежными по разным причинам, включая изменения рыночных условий или экономических обстоятельств. Все инвестиции сопряжены с риском, включая потерю основной суммы. Прежде чем принимать какие-либо инвестиционные решения, вам следует проконсультироваться со специалистом по инвестициям.
Материал на этом веб-сайте предоставляется только в информационных целях и не является предложением о продаже, предложением купить, рекомендацией или одобрением какой-либо ценной бумаги или стратегии, а также не является предложением предоставить консультационные услуги по инвестициям. от КвантКоннект. Кроме того, в материале не содержится мнения относительно пригодности какой-либо ценной бумаги или конкретной инвестиции. QuantConnect не дает никаких гарантий относительно точности или полноты представлений, выраженных на веб-сайте. Мнения могут быть изменены и могут стать ненадежными по разным причинам, включая изменения рыночных условий или экономических обстоятельств. Все инвестиции сопряжены с риском, включая потерю основной суммы.Прежде чем принимать какие-либо инвестиционные решения, вам следует проконсультироваться со специалистом по инвестициям.
Спасибо, что поделились! Сам никогда не сталкивался с этой ошибкой, но хорошо, что теперь на форумах есть исправление с возможностью поиска!
Материал на этом веб-сайте предоставляется только в информационных целях и не является предложением о продаже, предложением купить, рекомендацией или одобрением какой-либо ценной бумаги или стратегии, а также не является предложением предоставить консультационные услуги по инвестициям. от КвантКоннект. Кроме того, в материале не содержится мнения относительно пригодности какой-либо ценной бумаги или конкретной инвестиции. QuantConnect не дает никаких гарантий относительно точности или полноты представлений, выраженных на веб-сайте. Мнения могут быть изменены и могут стать ненадежными по разным причинам, включая изменения рыночных условий или экономических обстоятельств. Все инвестиции сопряжены с риском, включая потерю основной суммы. Прежде чем принимать какие-либо инвестиционные решения, вам следует проконсультироваться со специалистом по инвестициям.
Дэн Маббут – эксперт по Visual Basic, создавший обучающие курсы для пользователей Visual Basic. Он является соавтором двух книг на эту тему.
После того, как учащиеся Visual Basic узнают все о циклах, условных операторах и подпрограммах, они часто спрашивают: "Как добавить растровое изображение, WAV-файл, пользовательский курсор или какой-либо другой специальный эффект?" ?" Один из ответов — файлы ресурсов. Когда вы добавляете файл ресурсов в свой проект, он интегрируется для максимальной скорости выполнения и минимальных проблем при упаковке и развертывании вашего приложения.
Использование файлов ресурсов — не единственный способ включения файлов в проект VB, но он имеет реальные преимущества. Например, можно включить растровое изображение в элемент управления PictureBox или использовать Win32 API mciSendString.
Майкрософт определяет ресурс как "любые неисполняемые данные, которые логически развернуты вместе с приложением".
Самый простой способ управлять файлами ресурсов в проекте — выбрать вкладку "Ресурсы" в свойствах проекта. Вы можете вызвать его, дважды щелкнув Мой проект в обозревателе решений или в свойствах проекта в пункте меню "Проект".
Типы файлов ресурсов
- Строки
- Изображения
- Значки
- Аудио
- Файлы
- Другое
Файлы ресурсов упрощают глобализацию
Использование файлов ресурсов дает еще одно преимущество: лучшую глобализацию. Ресурсы обычно включаются в основную сборку, но .NET также позволяет упаковывать ресурсы во вспомогательные сборки. Таким образом, вы достигаете лучшей глобализации, поскольку включаете только необходимые вспомогательные сборки. Microsoft дала каждому языковому диалекту код. Например, американский диалект английского языка обозначается строкой «en-US», а швейцарский диалект французского языка обозначается «fr-CH». Эти коды идентифицируют вспомогательные сборки, которые содержат файлы ресурсов для конкретных региональных параметров. Когда приложение запускается, Windows автоматически использует ресурсы, содержащиеся во вспомогательной сборке, с культурой, определенной в настройках Windows.
Во-первых, вам нужно добавить значки. Выберите вкладку «Ресурсы» в свойствах проекта. Добавьте значки, выбрав «Добавить существующий файл» в раскрывающемся меню «Добавить ресурсы». После добавления ресурса новый код выглядит так:
Private Sub RadioButton1_CheckedChanged( .
Обрабатывает MyBase.Load
Button1.Image = My.Resources.EARTH.ToBitmap
Button1.Text = "Earth"
End Под
Встраивание с помощью Visual Studio
Если вы используете Visual Studio, вы можете встраивать ресурсы непосредственно в сборку проекта. Эти шаги добавляют изображение прямо в ваш проект:
- Щелкните правой кнопкой мыши проект в обозревателе решений. Нажмите "Добавить", а затем "Добавить существующий элемент".
- Перейдите к файлу изображения и нажмите «Открыть».
- Отображение свойств только что добавленного изображения.
- Установите для свойства "Действие сборки" значение "Встроенный ресурс".
Затем растровое изображение можно использовать непосредственно в подобном коде (где растровое изображение было третьим, индекс номер 2 в сборке).
Dim res() As String = GetType(Form1).Assembly.GetManifestResourceNames()
PictureBox1.Image = New System.Drawing.Bitmap( _
GetType(Form1).Assembly. GetManifestResourceStream(res(2)))
Хотя эти ресурсы встраиваются в виде двоичных данных непосредственно в основную сборку или в файлы вспомогательных сборок, при создании проекта в Visual Studio на них ссылается формат файла на основе XML с расширением .resx. Например, вот фрагмент из .только что созданный файл resx:
Поскольку это просто текстовые XML-файлы, файл .resx не может использоваться напрямую приложением платформы .NET. Его необходимо преобразовать в двоичный файл «.resources», добавив его в ваше приложение. Эта работа выполняется служебной программой Resgen.exe. Это может потребоваться для создания вспомогательных сборок для глобализации. Вы должны запустить resgen.exe из командной строки.
Читайте также: