参考包括不在存储库中的源

时间:2018-05-31 03:25:09

标签: autorest

我克隆了代码for autorest.csharp及其子模块 但是,测试项目缺少依赖性

构建错误是

Error   CS0234  The type or namespace name 'Modeler' 
does not exist in the namespace 'AutoRest' 
(are you missing an assembly reference?)    autorest.csharp.test

但解决方案文件包含以下内容

  <ItemGroup>
   <Reference Include="autorest.modeler">
      <HintPath>$(SolutionDir)\node_modules\@microsoft.azure\autorest.modeler\src\bin\netcoreapp2.0\autorest.modeler.dll</HintPath>
      <!-- <HintPath>C:\work\oneautorest\autorest.modeler\src\bin\netcoreapp2.0\autorest.modeler.dll</HintPath> -->
    </Reference>
    <ProjectReference Include="$(SolutionDir)src/autorest.csharp.csproj" />
  </ItemGroup>

如何为缺少的依赖项包含代码(或必要时包含.dll)?

我可以看到建模者的来源是 this repository但我应该如何访问它?

1 个答案:

答案 0 :(得分:3)

@microsoft.azure/autorest.modelerpackage.json devDependencies section中声明。

That devDependencies部分描述为:

  

如果有人计划在他们的程序中下载和使用您的模块,那么他们可能不想或不需要下载和构建您使用的外部测试或文档框架。

     

在这种情况下,最好将这些附加项映射到devDependencies对象中。

     

从包的根目录执行npm linknpm install时会安装这些内容,并且可以像任何其他npm配置参数一样进行管理。

所以在你的情况下,试试:

NODE_ENV=development npm install

对于Windows:

cmd /v /c "set NODE_ENV=development&& npm install"

(不是development&&之间缺少空间:这很重要)

获取和安装开发依赖项以及主要生产项目。

或者,如&#34; npm install won't install devDependencies&#34;:

中所述
npm install --only=dev

同时检查npm配置生产值是否设置为true。如果此值为true,则它将跳过dev依赖项。

另外:运行npm config get production,确保将其设置为false

npm config set -g production false

如果npm install --only=dev / npm rebuild不起作用,您可能需要删除node_modulespackage-lock.json并再次运行npm install