у меня есть это:Как издеваться над Application.Current для модульного тестирования?
<Image.Effect>
<fx:GrayscaleEffect DesaturationFactor="0"/>
</Image.Effect>
и это:
public class GrayscaleEffect : ShaderEffect{
private static PixelShader _pixelShader = new PixelShader()
{
UriSource = new Uri(@"pack://application:,,,/Effects/GrayscaleEffect.ps")
};
/* ... rest of the class ... */
}
Когда блок-тест его (MSTest
), то, очевидно, вызывает IOException
(поскольку Application.Current
является нулевым, поэтому pack://application:,,,/...
пункты в никуда) с эта ошибка:
Assembly.GetEntryAssembly() returns null. Set the Application.ResourceAssembly property or use the pack://application:,,,/assemblyname;component/ syntax to specify the assembly to load the resource from.
Как мне высмеивать/вводить все необходимое для его устранения?
I подумайте, что было бы проще вводить Uri в GrayscaleEffect. Будет ли это работать на вас? –
@ DanielSklenitzka: да. Как ? – Tar