UriFormatException: URI inválido: porta inválida especificada
A string qualificada para montagem usada como parâmetro abaixo para um Uri funciona em XAML, mas gera o erro mostrado quando usado no códig
Tentei todos os tipos de UriKind com o mesmo resultado. Como posso consertar isso
[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)
ATUALIZACom base na excelente resposta de Thomas e nos meus próprios comentários sobre legibilidade, acabei usando o seguinte na minha classe BaseTestFixture. Espero que isso ajude outra pessoa.
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));
}
}