我正在尝试将Typescript添加到现有的.NET MVC项目中。然而,当我尝试构建时,我得到了奇怪的错误消息。 Intellisense工作,我可以看到打字工作。我还可以看到在手动保存时生成的.js文件,这意味着compileOnSave可以正常工作。只有当我尝试构建整个项目时,才会出现错误。
我在Visual Studio 2015中使用以下设置:
已安装typescript 2.0.3
在package.json-file
答案 0 :(得分:0)
您的npm依赖项是否已安装?如果没有,那么您应该手动在项目文件夹上运行npm install
命令,或者为了避免将来发生这种情况,您可以通过编辑.njsproj
文件后自动将npm包安装到您的项目中。
<Import Project="$(VSToolsPath)\Node.js Tools\Microsoft.NodejsTools.targets" />
添加以下部分:
<PropertyGroup>
<PreBuildEvent>
npm install --msvs_version=2015
</PreBuildEvent>
</PropertyGroup>
或者如果您只想在重建时使用它,那么:
<PropertyGroup>
<BeforeRebuildEvent>
npm install --msvs_version=2015
</BeforeRebuildEvent>
</PropertyGroup>
--msvs_version=2015
命令行选项不是必需的,但是如果您使用多个版本的VS或者您的npm设置不正确,那么它可能会有用。
答案 1 :(得分:0)
此处发布的解决方案适用于我:Cannot find module when compiling under Visual Studio
(在此处更新到Visual Studio 2015的最新版本的TypeScript:https://www.microsoft.com/en-us/download/details.aspx?id=48593 )
答案 2 :(得分:0)
在Visual Studio 2015 [TypeScript 2.0.6]中查看时,我有一个应用程序在编辑器中显示“无法找到模块”消息 - 但在VSCode中完美运行!
我尝试了在StackOverflow和其他网站上找到的所有推荐的更改,但它们都没有为我工作。修复我的问题的更改是从tsconfig文件中删除'outDir'属性!我知道原始问题中的代码不使用outDir属性,但这个答案可以帮助其他人。
此更改对VS2017也是必要的。 我的建议:尽可能使用VSCode! :)
答案 3 :(得分:0)
我有同样的问题,并通过安装npm修复。
npm install
答案 4 :(得分:0)
我正在使用RequireJS,需要将模块系统从CommonJS更改为AMD。在Visual Studio中:
答案 5 :(得分:0)
我在Visual Studio 2017中遇到了同样的问题。解决了安装angular-cli的问题。 希望它可以帮助:))