SplashScreen IOException
SplashScreen s = new SplashScreen(System.Reflection.Assembly.GetExecutingAssembly(),"splash.png");
s.Show(false);
При вызове s.Show()
независимо от того, является ли параметр false
или true
, он выдает IOException
с сообщением
Не удается найти всплеск ресурса.png '
Несмотря на этот всплеск.png добавляется к ресурсам, и его Действие сборки является ресурсом.
Я заметил много проблем при использовании изображений в WPF, а также с управлением Image
.
3 ответа:
Согласно принципу " мой код не работает, и я не знаю, почему. Мой код работает, и я не знаю, почему", я решил эту проблему.
Сначала я сделал Действие сборки изображения всплеска в качестве ресурса. (Размещение изображения в качестве встроенного ресурса не решило проблему).
Во-вторых, мой код:
SplashScreen s = new SplashScreen("resources/splash.png"); s.Show(false); /* do some things */ s.Close(Timespan.FromMilliseconds(300));
Даже несмотря на этот всплеск.png добавляется к ресурсам, и его действие сборки-Resource.
Неверно построить действие, сделать его
Embedded Resource
. Если у вас все еще есть проблемы, то используйте ildasm.exe, чтобы посмотреть на манифест сборки для .директива mresource для обеспечения правильного внедрения ресурса с ожидаемым именем.Или используйте файл, следуя этим шагамИнструкции . Как правило, более здравый подход, так как не имеет большого смысла иметь большой ресурс занимайте адресное пространство в течение всего срока службы программы, когда оно требуется только на короткий промежуток времени при запуске программы.