Помогите с проблемой недоступных встроенных ресурсов - PullRequest
3 голосов
/ 05 апреля 2011

Есть две программы, которые очень похожи по коду для одной и той же цели, и одна из их функций - запуск winform.

Основное различие между ними заключается в том, что один из них «нацелен» на .NET 3.5 (и поэтому использует методы / соглашения 3.5), а другой - проект .NET 4.0 (выполняет те же функции с более новыми методами)

проект 3.5 может нормально запустить winform, но проект 4.0 сообщает, что значок '$ this.Icon', встроенный в файл формы .resx, не найден.

Есть ли ключевое различие между 3.5 и 4.0, которое может быть причиной этого? Может быть, 4.0 более строг в отношении соглашений об именах и не любит знак доллара?

Я импортировал файл кода, который вызывает форму из 3.5, в мой проект 4.0 и все равно выдает ошибку «Файл не найден»: (

сообщение об ошибке: не удалось загрузить файл или сборку 'Olympic.Braindump.OutlookPlugin2010.resources, версия = 1.0.0.0, Culture = en-US, PublicKeyToken = null' или одна из ее зависимостей. Система не может найти указанный файл.

часть трассировки стека: at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) at System.Reflection.RuntimeAssembly.InternalGetSatelliteAssembly(String name, CultureInfo culture, Version version, Boolean throwOnFileNotFound, StackCrawlMark& stackMark) at System.Resources.ManifestBasedResourceGroveler.GetSatelliteAssembly(CultureInfo lookForCulture, StackCrawlMark& stackMark) at System.Resources.ManifestBasedResourceGroveler.GrovelForResourceSet(CultureInfo culture, Dictionary 2 localResourceSets, логические tryParents, логические createIfNotExists, StackCrawlMark & ​​stackMark)

...