我克隆了代码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但我应该如何访问它?
答案 0 :(得分:3)
@microsoft.azure/autorest.modeler
在package.json devDependencies
section中声明。
That devDependencies部分描述为:
如果有人计划在他们的程序中下载和使用您的模块,那么他们可能不想或不需要下载和构建您使用的外部测试或文档框架。
在这种情况下,最好将这些附加项映射到devDependencies对象中。
从包的根目录执行
npm link
或npm 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_modules
和package-lock.json
并再次运行npm install