2014-12-11 134 views
3

我目前正在爲所有客戶端代碼使用打字稿的新項目。我使用了許多純JavaScript庫來讓它們與我的Typescript一起工作。我使用Nuget通過以下包管理器命令來獲取* .d.ts文件。恢復打字稿定義Nuget包

一個例子包管理器命令:

安裝,包裝angularjs.TypeScript.DefinitelyTyped -Version 2.0.2

這工作一種享受和安裝畢竟我的NuGet包一個文件被創建所謂packages.config在項目目錄:

<?xml version="1.0" encoding="utf-8"?> 
<packages> 
    <package id="angularjs.TypeScript.DefinitelyTyped" version="2.0.2" targetFramework="net45" /> 
    <package id="angular-translate.TypeScript.DefinitelyTyped" version="0.9.0" targetFramework="net45" /> 
    <package id="bootstrap.TypeScript.DefinitelyTyped" version="0.0.9" targetFramework="net45" /> 
    <package id="jquery.TypeScript.DefinitelyTyped" version="1.4.0" targetFramework="net45" /> 
</packages> 

我的可視s tudios項目現在已經包後,以下目錄中已經安裝:

Scripts\ 
    typings\ 
     angularjs\   (contains relivant files) 
     angular-translate\ (contains relivant files) 
     bootstrap\   (contains relivant files) 
     jquery\   (contains relivant files) 

現在我的問題是,當別人試圖克隆我的倉庫視覺工作室會嘗試自動恢復的NuGet軟件包,但其安裝在用以下方式:

Packages\ 
    angularjs.TypeScript.DefinitelyTyped.2.0.2\ 
     Content\ 
      Scripts\ 
       typings\ 
        angularjs\ (contains relivant files) 

    angular-translate.TypeScript.DefinitelyTyped.0.9.0\ 
     Content\ 
      Scripts\ 
       typings\ 
        angularjs\ (contains relivant files) 

    bootstrap.TypeScript.DefinitelyTyped.0.0.9\ 
     Content\ 
      Scripts\ 
       typings\ 
        angularjs\ (contains relivant files) 

    jquery.TypeScript.DefinitelyTyped.1.4.0\ 
     Content\ 
      Scripts\ 
       typings\ 
        angularjs\ (contains relivant files) 

我已經讀了一些計算器線程和的NuGet文檔,但不能似乎真的找到一個解決的地方,我可以在新的回購機器上運行一個命令,它會恢復文件恢復到我在T上的配置他原來的機器。

理想情況下,我想避免編寫和* .bat文件,將文件結構轉換爲我想要的方式。

+0

傑森可能有一個更好的主意。您可以通過報告問題來獲得他的興趣:https://github.com/DefinitelyTyped/NugetAutomation – basarat 2014-12-11 04:01:27

回答

3

我相信你正在經歷一個共同的Nuget misconceptions。這裏的問題是(自動)Nuget Restore與Install-Package不同。 Nuget Restore的目標是下載和解壓軟件包。它不會恢復您的項目或解決方案文件夾的內容。閱讀文章以獲取更多關於原因的細節有很多人對此行爲感到憤怒,但這是Nuget開發人員的選擇。

在對this issue的評論中提到了許多解決方案。我個人使用Install-Package MSBuild.NugetContentRestore,這是我需要解決內容文件問題。

希望這會有所幫助。