Visual Studio 2010 Resources (WPF) - PullRequest
       44

Visual Studio 2010 Resources (WPF)

1 голос
/ 15 апреля 2011

Я был в Visual Studio и имел файл класса: Foo.cs ... Я создал файл ресурсов (resx) с именем Foo.resx , потому что я также планирую иметьa Foo.es-SP.resx .

Visual Studio, очень красиво, спрятал файл ресурсов так же, как он убирает файлы кода для страниц xaml.

Проблема в том, что приложение не будет компилироваться, потому что генератор ресурсов создал класс Foo.Designer.cs (designer), который имеет внутренний класс Foo для ресурса, имя которого совпадает с именем моего класса Foo:

Foo.cs

public class Foo { ... }

Foo.Designer.cs

internal class Foo { ... }

, что довольно раздражает, потому что мое приложение не будетскомпилируйте сейчас.Итак, я решил обмануть Visual Studio здесь и переименовать файл (не сам класс).Теперь у меня есть FooC.cs и FooC.resx и FooC.Designer.cs.Это изменило класс resx на internal class FooC { ... }

. Компилируется, но не вылетает при запуске приложения при попытке получить ресурс.

  1. ПочемуVisual Studio создать внутренний класс, который сталкивается с моим существующим классом?Очевидно, что создание ресурса для вашего класса должно иметь то же имя, потому что он организует его для вас.

  2. Почему возникает ошибка во время выполнения, когда я пытаюсь использовать ресурс, которыйпомечен как «Встроенный ресурс»?

Сообщение об ошибке:

System.Resources.MissingManifestResourceException: Не удалось найти ресурсы, подходящие для указанной культуры илинейтральная культура.Убедитесь, что «MyProj.FooC.resources» был правильно встроен или связан со сборкой «MyProj» во время компиляции, или что все требуемые сателлитные сборки являются загружаемыми и полностью подписаны.в System.Resources.ManifestBasedResourceGroveler.HandleResourceStreamMissing (String fileName)

Ответы [ 2 ]

0 голосов
/ 15 апреля 2011

Измените имя своего Foo.resx, например, FooResources.resx.

0 голосов
/ 15 апреля 2011

Выберите Foo.es-SP.resx в обозревателе решений, отобразите его свойства (F4) и очистите свойство Custom Tool

...