Inedo Community Forums Forums
    • Recent
    • Tags
    • Popular
    • Login

    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!

    Bug using ProGet as a single NuGet feed

    Scheduled Pinned Locked Moved Support
    proget
    8 Posts 1 Posters 30 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ? This user is from outside of this forum
      Guest
      last edited by

      Hi.

      We started using ProGet as our internal package server so we could share some custom packages with multiple teams. Since ProGet supports connectors behind a feed, we created one connector to the NuGet official repository in order to take advantage of its caching capabilities.

      Things were going fine until we decided to ditch the official NuGet feed in Visual Studio and use only our ProGet-based one. After disabling the official feed NuGet failed to resolve any remote dependencies our custom packages might have. That seemed odd because we could install any remote package directly without any issues using the very same feed.

      We did some debugging and found out that NuGet behaves differently when the official feed is enabled. Here's the trace when only our internal feed is available:

      GET http://server/nuget/Default/Packages()?$filter=tolower(Id)%20eq%20'awssdk'&$orderby=Id
      GET http://server/nuget/Default/Packages()?$filter=tolower(Id)%20eq%20'awssdk'&$orderby=Id
      

      And here's the trace generated when both NuGet and our feed are enabled:

      GET http://server/nuget/Default/Packages()?$filter=tolower(Id)%20eq%20'awssdk'&$orderby=Id
      GET http://server/nuget/Default/Packages()?$filter=tolower(Id)%20eq%20'awssdk'&$orderby=Id
      GET https://www.nuget.org/api/v2/FindPackagesById()?id='AWSSDK'
      GET https://www.nuget.org/api/v2/FindPackagesById?id='AWSSDK'&$skiptoken='AWSSDK','1.4.8.1'
      GET https://www.nuget.org/api/v2/FindPackagesById?id='AWSSDK'&$skiptoken='AWSSDK','1.5.30.1'
      GET https://www.nuget.org/api/v2/FindPackagesById?id='AWSSDK'&$skiptoken='AWSSDK','2.0.1.0'
      

      Is that a bug in ProGet, in NuGet or are we missing some configuration?

      Thanks in advance.

      Kind regards.

      Product: ProGet
      Version: 2.2.13

      1 Reply Last reply Reply Quote 0
      • ? This user is from outside of this forum
        Guest
        last edited by

        What version of NuGet is this? I'm assuming the latest for VS (e.g. 2.8.50313.31)

        Regardless, the query against ProGet looks normal. I'm guessing the FindPackagesById() function is an optimization that was recently added.

        Can you actually see the connected packages in the ProGet feed if you browse the web application, e.g. http://server/feeds/Default ?

        1 Reply Last reply Reply Quote 0
        • ? This user is from outside of this forum
          Guest
          last edited by

          Hi Tod. Thanks for the quick response.

          What version of NuGet is this? I'm assuming the latest for VS

          Yes, it's the latest release (2.8.50313.46).

          Regardless, the query against ProGet looks normal. I'm guessing the FindPackagesById() function is an optimization that was recently added.

          Every request to ProGet returns OK. In fact everything else works. Only when it comes down to install a package which has some remote dependency NuGet fails. It seems like something within the data returned by ProGet doesn't please NuGet and so it can't continue installing the package.

          Can you actually see the connected packages in the ProGet feed if you browse the web application, e.g. http://server/feeds/Default?

          Yes. I can see both my custom packages and remote packages from the NuGet repository.

          Is there anything else I can do to help understand what's going on?

          1 Reply Last reply Reply Quote 0
          • ? This user is from outside of this forum
            Guest
            last edited by

            I can't seem to reproduce this behavior - I am able to install any package and all dependencies at will from my test instance, local, cached, or remote. What happens if you use the actual nuget.exe client to install the packages?

            Also, are you sure the version of your extension ends with .46? I just got the latest and it's .31, though I'm using VS2012... maybe if you're using VS2013 it's different.

            Beyond that, if you could save a Fiddler trace when attempting to download these dependencies, that would be helpful in working towards a resolution.

            1 Reply Last reply Reply Quote 0
            • ? This user is from outside of this forum
              Guest
              last edited by

              What happens if you use the actual nuget.exe client to install the packages?

              Same error using nuget.exe:

              GET http://server/nuget/Default/FindPackagesById()?$filter=IsLatestVersion&$orderby=Version desc&$top=1&id='Package'
              GET http://server/nuget/Default/Packages()?$filter=tolower(Id) eq 'package'&$orderby=Id
              GET http://server/nuget/Default/Packages(Id='Package',Version='0.0.43')
              Attempting to resolve dependency 'AWSSDK (= 1.5.50.0)'.
              GET http://server/nuget/Default/Packages()?$filter=tolower(Id) eq 'awssdk'&$orderby=Id
              System.InvalidOperationException: Unable to resolve dependency 'AWSSDK (= 1.5.50.0)'.
                 at NuGet.InstallWalker.OnDependencyResolveError(PackageDependency dependency)
                 at NuGet.PackageWalker.Walk(IPackage package)
                 at NuGet.InstallWalker.ResolveOperations(IPackage package)
                 at NuGet.PackageManager.Execute(IPackage package, IPackageOperationResolver resolver)
                 at NuGet.PackageManager.InstallPackage(IPackage package, FrameworkName targetFramework, Boolean ignoreDependencies, Boolean allowPrereleaseVersions, Boolean ignoreWalkInfo)
                 at NuGet.PackageManager.InstallPackage(IPackage package, Boolean ignoreDependencies, Boolean allowPrereleaseVersions)
                 at NuGet.PackageManager.InstallPackage(String packageId, SemanticVersion version, Boolean ignoreDependencies, Boolean allowPrereleaseVersions)
                 at NuGet.Commands.InstallCommand.InstallPackage(IFileSystem fileSystem, String packageId, SemanticVersion version)
                 at NuGet.Commands.InstallCommand.ExecuteCommand()
                 at NuGet.Commands.Command.Execute()
                 at NuGet.Program.Main(String[] args)
              

              Also, are you sure the version of your extension ends with .46? I just got the latest and it's .31, though I'm using VS2012... maybe if you're using VS2013 it's different.

              Yes, it ends with .46 and it's VS2013 as well. But the error also occurs in VS2012 with NuGet 2.8.50313.31

              Beyond that, if you could save a Fiddler trace when attempting to download these dependencies, that would be helpful in working towards a resolution.

              The trace I posted above was from Fiddler. Here's a more detailed one (when using the Manage NuGet Packages dialog):

              GET http://server/nuget/Default/Packages()?$filter=tolower(Id)%20eq%20'awssdk'&$orderby=Id HTTP/1.1
              DataServiceVersion: 1.0;NetFx
              MaxDataServiceVersion: 2.0;NetFx
              User-Agent: NuGet VS Packages Dialog/2.8.50313.31 (Microsoft Windows NT 6.1.7601 Service Pack 1, VS Ultimate/11.0)
              NuGet-ProjectGuids: {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
              Accept: application/atom+xml,application/xml
              Accept-Charset: UTF-8
              Host: server
              Accept-Encoding: gzip, deflate
              Connection: Keep-Alive
              
              HTTP/1.1 200 OK
              Cache-Control: private
              Transfer-Encoding: chunked
              Content-Type: application/atom+xml; charset=utf-8
              Server: Microsoft-IIS/7.5
              X-AspNet-Version: 4.0.30319
              X-UA-Compatible: IE=edge
              X-Powered-By: ASP.NET
              Date: Wed, 09 Apr 2014 17:14:44 GMT
              ------------------------------------------------------------------
              
              GET http://server/nuget/Default/Packages()?$filter=tolower(Id)%20eq%20'awssdk'&$orderby=Id HTTP/1.1
              DataServiceVersion: 1.0;NetFx
              MaxDataServiceVersion: 2.0;NetFx
              User-Agent: NuGet VS Packages Dialog/2.8.50313.31 (Microsoft Windows NT 6.1.7601 Service Pack 1, VS Ultimate/11.0)
              NuGet-ProjectGuids: {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
              Accept: application/atom+xml,application/xml
              Accept-Charset: UTF-8
              Host: server
              Accept-Encoding: gzip, deflate
              
              HTTP/1.1 200 OK
              Cache-Control: private
              Transfer-Encoding: chunked
              Content-Type: application/atom+xml; charset=utf-8
              Server: Microsoft-IIS/7.5
              X-AspNet-Version: 4.0.30319
              X-UA-Compatible: IE=edge
              X-Powered-By: ASP.NET
              Date: Wed, 09 Apr 2014 17:14:44 GMT
              ------------------------------------------------------------------
              

              And here's the trace when using nuget.exe:

              GET http://server/nuget/Default HTTP/1.0
              User-Agent: NuGet/2.8.50320.36 (Microsoft Windows NT 6.1.7601 Service Pack 1)
              Host: server
              
              HTTP/1.1 200 OK
              Cache-Control: private
              Content-Length: 357
              Content-Type: text/xml; charset=utf-8
              Server: Microsoft-IIS/7.5
              X-AspNet-Version: 4.0.30319
              X-UA-Compatible: IE=edge
              X-Powered-By: ASP.NET
              Date: Wed, 09 Apr 2014 17:00:29 GMT
              Connection: close
              ------------------------------------------------------------------
              
              GET http://server/nuget/Default/FindPackagesById()?$filter=IsLatestVersion&$orderby=Version%20desc&$top=1&id='Package' HTTP/1.1
              DataServiceVersion: 1.0;NetFx
              MaxDataServiceVersion: 2.0;NetFx
              User-Agent: NuGet Command Line/2.8.50320.36 (Microsoft Windows NT 6.1.7601 Service Pack 1)
              Accept: application/atom+xml,application/xml
              Accept-Charset: UTF-8
              Host: server
              Accept-Encoding: gzip, deflate
              
              HTTP/1.1 404 Not Found
              Cache-Control: private
              Content-Length: 5817
              Content-Type: text/html; charset=utf-8
              Server: Microsoft-IIS/7.5
              X-AspNet-Version: 4.0.30319
              X-UA-Compatible: IE=edge
              X-Powered-By: ASP.NET
              Date: Wed, 09 Apr 2014 17:00:29 GMT
              ------------------------------------------------------------------
              
              GET http://server/nuget/Default/$metadata HTTP/1.0
              User-Agent: NuGet/2.8.50320.36 (Microsoft Windows NT 6.1.7601 Service Pack 1)
              Host: server
              
              HTTP/1.1 200 OK
              Cache-Control: private
              Content-Type: text/xml; charset=utf-8
              Server: Microsoft-IIS/7.5
              X-AspNet-Version: 4.0.30319
              X-UA-Compatible: IE=edge
              X-Powered-By: ASP.NET
              Date: Wed, 09 Apr 2014 17:00:29 GMT
              Connection: close
              ------------------------------------------------------------------
              
              GET http://server/nuget/Default/Packages()?$filter=tolower(Id)%20eq%20'package'&$orderby=Id HTTP/1.1
              DataServiceVersion: 1.0;NetFx
              MaxDataServiceVersion: 2.0;NetFx
              User-Agent: NuGet Command Line/2.8.50320.36 (Microsoft Windows NT 6.1.7601 Service Pack 1)
              Accept: application/atom+xml,application/xml
              Accept-Charset: UTF-8
              Host: server
              Accept-Encoding: gzip, deflate
              
              HTTP/1.1 200 OK
              Cache-Control: private
              Transfer-Encoding: chunked
              Content-Type: application/atom+xml; charset=utf-8
              Server: Microsoft-IIS/7.5
              X-AspNet-Version: 4.0.30319
              X-UA-Compatible: IE=edge
              X-Powered-By: ASP.NET
              Date: Wed, 09 Apr 2014 17:00:29 GMT
              ------------------------------------------------------------------
              
              GET http://server/nuget/Default/Packages(Id='Package',Version='0.0.43') HTTP/1.1
              DataServiceVersion: 1.0;NetFx
              MaxDataServiceVersion: 2.0;NetFx
              User-Agent: NuGet Command Line/2.8.50320.36 (Microsoft Windows NT 6.1.7601 Service Pack 1)
              Accept: application/atom+xml,application/xml
              Accept-Charset: UTF-8
              Host: server
              Accept-Encoding: gzip, deflate
              
              HTTP/1.1 200 OK
              Cache-Control: private
              Transfer-Encoding: chunked
              Content-Type: application/atom+xml; charset=utf-8
              Server: Microsoft-IIS/7.5
              X-AspNet-Version: 4.0.30319
              X-UA-Compatible: IE=edge
              X-Powered-By: ASP.NET
              Date: Wed, 09 Apr 2014 17:00:30 GMT
              ------------------------------------------------------------------
              
              GET http://server/nuget/Default/Packages()?$filter=tolower(Id)%20eq%20'awssdk'&$orderby=Id HTTP/1.1
              DataServiceVersion: 1.0;NetFx
              MaxDataServiceVersion: 2.0;NetFx
              User-Agent: NuGet Command Line/2.8.50320.36 (Microsoft Windows NT 6.1.7601 Service Pack 1)
              Accept: application/atom+xml,application/xml
              Accept-Charset: UTF-8
              Host: server
              Accept-Encoding: gzip, deflate
              
              HTTP/1.1 200 OK
              Cache-Control: private
              Transfer-Encoding: chunked
              Content-Type: application/atom+xml; charset=utf-8
              Server: Microsoft-IIS/7.5
              X-AspNet-Version: 4.0.30319
              X-UA-Compatible: IE=edge
              X-Powered-By: ASP.NET
              Date: Wed, 09 Apr 2014 17:00:30 GMT
              ------------------------------------------------------------------
              

              As you can see, they're different; Nuget.exe does 3 times as many requests as the VS dialog (FindPackagesById is one of them).

              The next thing I think I can do is download NuGet source code and find out why that exception is thrown. But I need to find time to do that.

              1 Reply Last reply Reply Quote 0
              • ? This user is from outside of this forum
                Guest
                last edited by

                Is there any progress on this topic? I'm experiencing the same thing. I've created a custom package that is dependent on NuGet.CommandLine 2.8.2 and it won't resolve unless I download it to ProGet. I'd rather let the connector handle external packages but it just doesn't work. Also, NuGet.CommandLine 2.5 installs just fine.

                1 Reply Last reply Reply Quote 0
                • ? This user is from outside of this forum
                  Guest
                  last edited by

                  This seems to be fixed in NuGet 2.8.2 (note this is a newer version than the 2.8.5); we also did some updates in the latest ProGet (3.1.0) that shuld help.

                  If you're still seeing this behavior, then it's most definitely a different issue.

                  1 Reply Last reply Reply Quote 0
                  • ? This user is from outside of this forum
                    Guest
                    last edited by

                    Thank-you for the quick reply... I had just upgraded Proget just a week ago or something, so I hadn't thought to look for another version. I downloaded and installed the latest version and indeed my issue seems to be resolved.

                    1 Reply Last reply Reply Quote 0

                    Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                    Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                    With your input, this post could be even better 💗

                    Register Login
                    • 1 / 1
                    • First post
                      Last post
                    Inedo Website Home • Support Home • Code of Conduct • Forums Guide • Documentation