Hello Community,
I searched for two days for a solution on this problem. I have written a custom pipeline importer for some of my classes. I need an extra security layer while loading data, so I have an additional definition for encryption in the ContentTypeWriter and ContentTypeReader. All my classes inherit from a class called ContentEntity and the sub classes specify how to write, read and process for the pipeline.
public class ContentEntity { internal virtual void Write(BinaryWriter output) { } internal virtual ContentEntity Read(BinaryReader input) { return null; } internal virtual void ProcessContent(string input) { } }
Everything runs smooth… When I debug my game, I dont get any errors. But whenever I use the MonoGame Content Pipeline and use “rebuild”, I get the following exception and the content pipeline crashes (however the content is built successfully):
System.UriFormatException: Ungültiger URI: Das URI-Format konnte nicht bestimmt werden. bei System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind) bei MonoGame.Tools.Pipeline.PipelineController.GetRelativePath(String path) bei MonoGame.Tools.Pipeline.BuildOutput.WriteLine(String line) bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) bei System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler) bei System.Windows.Threading.DispatcherOperation.InvokeImpl() bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) bei MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state) bei System.Windows.Threading.DispatcherOperation.Invoke() bei System.Windows.Threading.Dispatcher.ProcessQueue() bei System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) bei MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) bei MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o) bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) bei System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler) bei System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs) bei MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam) bei MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg) bei System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame) bei System.Windows.Application.RunDispatcher(Object ignore) bei System.Windows.Application.RunInternal(Window window) bei MonoGame.Tools.Pipeline.Program.Main(String[] args)