El ensamblado de cadena calificada utilizada como parámetro a continuación para un Uri funciona en XAML, pero me da el error que se muestra cuando se utiliza en el código.UriFormatException: URI no válido: puerto no válido especificado
Probé todo tipo de UriKind con el mismo resultado. ¿Cómo puedo arreglar esto?
[Test]
public void LargeImageSource_IsKnown()
{
var uri = new Uri(
"pack://application:,,,/" +
"MyAssembly.Core.Presentation.Wpf;component/" +
"Images/Delete.png", UriKind.RelativeOrAbsolute);
Assert.That(
_pickerActivityCollectionVm.DeleteActivityCommand.LargeImageSource,
Is.EqualTo(uri));
}
System.UriFormatException : Invalid URI: Invalid port specified.
at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind)
at System.Uri..ctor(String uriString, UriKind uriKind)
ACTUALIZACIÓN
Basado en respuesta excelente Thomas y mis propios comentarios acerca de la legibilidad, terminé usando el siguiente en mi clase BaseTestFixture. Espero que esto ayude a alguien más.
protected virtual void OnFixtureSetUp() {
// logging, other one time setup stuff...
const string scheme = "pack";
if (!UriParser.IsKnownScheme(scheme)) {
Assert.That(PackUriHelper.UriSchemePack, Is.EqualTo(scheme));
}
}
Como FYI Nota: Estoy frente al mismo problema utilizando una ventana de WPF alojada en un proceso nativo. –