2016-07-15 49 views
1

存在當我嘗試更新短小精悍(或任何其它NuGet包),Visual Studio中顯示:包節點不packages.config

An error occurred while writing file 'T:\ProjectPath\packages.config': Packages node does not exists in packages.config at T:\ProjectPath\packages.config. 

的確切內容,所述文件是:

<?xml version="1.0" encoding="utf-8"?> 
<packages xmlns="urn:packages"> 
    <package id="Antlr" version="3.5.0.2" targetFramework="net45" xmlns="" /> 
    <package id="Dapper" version="1.42" targetFramework="net451" xmlns="" /> 
    <package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net451" xmlns="" /> 
    <package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net451" xmlns="" /> 
    <package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net45" xmlns="" /> 
    <package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net451" xmlns="" /> 
    <package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net451" xmlns="" /> 
    <package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net451" xmlns="" /> 
    <package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net451" xmlns="" /> 
    <package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net451" xmlns="" /> 
    <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net451" xmlns="" /> 
    <package id="Moment.js" version="2.10.2" targetFramework="net451" xmlns="" /> 
    <package id="Newtonsoft.Json" version="6.0.8" targetFramework="net451" xmlns="" /> 
    <package id="NLog" version="4.0.1" targetFramework="net451" xmlns="" /> 
    <package id="NLog.Config" version="4.0.1" targetFramework="net451" xmlns="" /> 
    <package id="NLog.Schema" version="4.0.1" targetFramework="net451" xmlns="" /> 
    <package id="Oracle.ManagedDataAccess" version="12.1.021" targetFramework="net451" xmlns="" /> 
    <package id="WebGrease" version="1.6.0" targetFramework="net45" xmlns="" /> 
</packages> 

包節點當然似乎存在。

我試過update-package dapper,update-package dapper -Reinstalluninstall-package dapper -Force。所有產量:

PM> Update-Package dapper 
Attempting to gather dependency information for multiple packages with respect to project 'ImplantRecipeDatabase', targeting '.NETFramework,Version=v4.5.1' 
Attempting to resolve dependencies for multiple packages. 
Resolving actions install multiple packages 
Install failed. Rolling back... 
Package 'Dapper 1.42' already exists in project 'ImplantRecipeDatabase' 
Update-Package : An error occurred while writing file 'T:\Dropbox\WorkProjects\DataManager\ImplantRecipeDatabase\packages.config': Packages node does not exists in packages.config at T:\Dropbox\WorkProjects\DataManager\ImplantRecipeDatabase\packages.config. 
At line:1 char:15 
+ Update-Package <<<< dapper 
    + CategoryInfo   : NotSpecified: (:) [Update-Package], Exception 
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.UpdatePackageCommand 

需要注意的是小巧玲瓏的通過的NuGet找到的最新版本是1.50.1

的錯誤是沒有幫助的,所以我不知道在哪裏何去何從。我曾嘗試安裝VS2015 Update 3(kb3165756)的最新更新,並且擁有最新版本的NuGet(3.4.4.1321)。 接下來我應該嘗試什麼?

回答

2

您的packages.config文件看起來不正確。它具有xmlns屬性,其中一個普通packages.config沒有任何屬性。將根包元素放在不同的名稱空間中可能是問題的原因。我期望packages.config文件看起來更像:

<?xml version="1.0" encoding="utf-8"?> 
<packages> 
    <package id="Antlr" version="3.5.0.2" targetFramework="net45" /> 
+0

刪除'xmlns'屬性糾正了問題。 如果有人希望追查可能導致問題的NuGet變更(我的猜測:我想不出任何理由我們會做出這個變更),我的項目的'packages.config'的xmlns屬性在 之間'星期五4月11日15:22:38 2014-06600'和'星期一6月30日16:22:49 2014-06600'。直到最近,NuGet對這個文件都非常滿意。 –