Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.

If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!

Symbol server problems from network share



  • I found ProGet while looking for how to easily set up a symbol/source server for our internal nuget packages. We don’t have many packages and are just hosting them on a network share. I configured ProGet (free version) with a new feed using the UNC share path for the feed disk path. If I configure VisualStudio with a new NuGet package source using the feed’s URL it can see the packages on my share.

    My share contains regular and *.symbol.nupkg packages for every package. When I configure VisualStudio to use the feed’s symbol server URL (following the instructions here and here), I still cannot debug into any of the packages. I do see the following indexing error on my administration page:

    Logged 10/2/2014 2:57:59 PM
    Message A severe error occurred when attempting to index the feed named "Local_IL". This feed's packages will not be indexed until the problem is corrected. For reference, the full error was: System.ArgumentException: objXml is invalid. Parameter name: objXml ---> System.Xml.XmlException: Data at the root level is invalid. Line 1, position 1. at System.Xml.XmlTextReaderImpl.Throw(String res, String arg) at System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace() at System.Xml.XmlTextReaderImpl.ParseDocumentContent() at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace) at System.Xml.XmlDocument.Load(XmlReader reader) at System.Xml.XmlDocument.LoadXml(String xml) at Inedo.ProGet.Extensibility.Persistence.DeserializeFromPersistedObjectXml(String objXml) --- End of inner exception stack trace --- at Inedo.ProGet.Extensibility.Persistence.DeserializeFromPersistedObjectXml(String objXml) at Inedo.ProGet.Extensibility.PackageStores.FeedExtensions.CreatePackageStore(Feeds feed, Nullable`1 pollFrequency) at Inedo.ProGet.Service.IndexedFeed..ctor(Feeds feed) at Inedo.ProGet.Service.FeedIndexerExecuter.Execute()
    Stack Trace at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo) at System.Environment.get_StackTrace() at Inedo.ProGet.Diagnostics.DatabaseErrorMessenger.Inedo.Diagnostics.IMessenger.Message(IMessage message) at Inedo.Diagnostics.Logger.Message(MessageLevel messageLevel, String message) at Inedo.ProGet.Service.FeedIndexerExecuter.Execute() at Inedo.TimedExecuterBase.ExecuteMethodHost(Object state) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.TimerQueueTimer.CallCallback() at System.Threading.TimerQueueTimer.Fire() at System.Threading.TimerQueue.FireNextTimers()
    Close

    Is ProGet not able to handle symbol packages from a network share? Or, do I have something else configured wrong?

    Thanks,
    Cary

    Product: ProGet
    Version: 3.1.7



  • Symbol serving should work no differently with packages stored on a network share or otherwise. The only problem I could see with that is if you were referencing a mapped drive instead of supplying the full UNC path.

    The error message seems to indicate that you're trying to use a custom package store. Was that by accident? You can remove that by editing the feed properties via the admin section and clearing the field marked "Package Store Configuration" and re-saving.



  • I am using a full UNC path.

    I had been experimenting with different settings, so that error message must be from when I had something in the package config area, but I later removed it.

    I looked in the db, and see that all my packages in the Packages table have an N in the symbol and source indicator columns. Is it a problem to have both *.nupkg and *.symbol.nupkg in the same directory? I read on a different q&a here that ProGet will only look at the first one it finds.



  • The feed directory can only contain package files, and remember that a ".symbols.nupkg" is not a valid package file. The ".symbol" file is just a bizarre hack the NuGet team put together to allow you to push half of your package to nuget.org and the other half to symbolsource.org. The nuget.exe client strips the ".symbols" from the name (so the server has no idea what type of file it's receiving).

    For ProGet, you just have to have everything in a single package... or create a separate feed that the symbol half of your pckage can go to.

    Basically, you just need to write a script to combine these two files into one. They're just zip files so it should be pretty easy.



Inedo Website HomeSupport HomeCode of ConductForums GuideDocumentation