5

我已经克隆了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)?

我可以看到建模器的源代码在 这个存储库中,但我应该如何访问它?

4

1 回答 1

3

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

devDependencies部分描述为:

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

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

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

因此,在您的情况下,请尝试:

NODE_ENV=development npm install

对于 Windows:

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

(不是和之间没有空格:这很重要)development&&

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

或者,如“npm install不会安装 devDependencies ”中所述:

npm install --only=dev

还要检查 npm config 生产值是否设置为 true。如果此值为 true,它将跳过开发依赖项。

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

npm config set -g production false

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

于 2018-06-02T04:14:50.733 回答