恢复 Typescript 定义 Nuget 包

2024-03-29

我目前正在开发一个新项目,该项目将 Typescript 用于所有客户端代码。我使用许多纯 JavaScript 库来让它们与我的 Typescript 一起使用。我使用 Nuget 通过以下包管理器命令提取 *.d.ts 文件。

包管理器命令示例:

安装包 angularjs.TypeScript.DefinitelyTyped -版本 2.0.2

这很有效,在安装了我所有的 Nuget 软件包后,会创建一个名为包配置在项目目录中:

<?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>

安装软件包后,我的 Visual Studios 项目现在具有以下目录:

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

Now 我的问题当其他人尝试克隆我的存储库时,视觉工作室将尝试自动恢复 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)

我已经阅读了许多 stackoverflow 线程和 Nuget 文档,但似乎无法真正找到解决方案,让我可以在新的存储库机器上运行命令,并且它将文件恢复到我在原始机器上的配置机器。

理想情况下,我希望避免编写 *.bat 文件来将文件结构转换为我想要的方式。


我相信您正在经历一种常见的情况Nuget 的误解 http://jeffhandley.com/archive/2013/12/09/nuget-package-restore-misconceptions.aspx。这里的问题是(自动)Nuget Restore 与 Install-Package 不同。 Nuget Restore 的目的是下载并解压软件包。它不会恢复项目或解决方案文件夹的内容。阅读文章以了解更多有关原因的详细信息。有很多人对这种行为感到愤怒,但这是 Nuget 开发人员的选择。

评论中提到了许多解决方案这个问题 http://nuget.codeplex.com/workitem/2094。我个人使用Install-Package MSBuild.NugetContentRestore这就是我解决内容文件问题所需的全部内容。

希望这可以帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

恢复 Typescript 定义 Nuget 包 的相关文章

随机推荐