これは機能します:
XamlReader.Parse("<Pig xmlns=\"clr-namespace:Farm;assembly=Farm\"/>");
これにより、タグ'Pig'がXML名前空間'clr-namespace:Farm; assembly = Farm'に存在しません:
var context = new ParserContext();
context.XmlnsDictionary.Add("", "clr-namespace:Farm;assembly=Farm");
XamlReader.Parse("<Pig/>", context);
なんで?
ファームは呼び出し元のアプリケーションです。