Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2012 Visual Studio Express 2012和Typescript输出目录_Visual Studio 2012_Typescript - Fatal编程技术网

Visual studio 2012 Visual Studio Express 2012和Typescript输出目录

Visual studio 2012 Visual Studio Express 2012和Typescript输出目录,visual-studio-2012,typescript,Visual Studio 2012,Typescript,我已成功地将typescript插件安装到VS中。 我想切换到编译后的js文件输出目录。目前,js文件与ts文件位于同一目录中。 我找到了一个解决方案,说我应该安装web essentials,并用它修改编译器设置。不幸的是,免费VS express不允许我安装第三方的东西。没关系,但是有没有其他解决方案来更改js文件的输出目录? 在命令行中,它是一个简单的--out标志。TypeScript编译器有一个将输出重定向到目录的标志: tsc --outDir "Path" app.ts 我不熟悉

我已成功地将typescript插件安装到VS中。 我想切换到编译后的js文件输出目录。目前,js文件与ts文件位于同一目录中。 我找到了一个解决方案,说我应该安装web essentials,并用它修改编译器设置。不幸的是,免费VS express不允许我安装第三方的东西。没关系,但是有没有其他解决方案来更改js文件的输出目录?
在命令行中,它是一个简单的--out标志。

TypeScript编译器有一个将输出重定向到目录的标志:

tsc --outDir "Path" app.ts

我不熟悉Express的局限性,但以下是您在不使用Web Essentials的Pro版中如何做到这一点:

使用您喜爱的文本编辑器打开项目中的
.csproj
文件。查找类似以下内容的属性组:

<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
    ...
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
    ...
</PropertyGroup>

...
...
在这两者中添加一个属性,如下所示:

<TypeScriptOutDir>my/dir</TypeScriptOutDir>
my/dir
如果打开
C:\ProgramFiles(x86)\MSBuild\Microsoft\VisualStudio\v11.0\TypeScript\Microsoft.TypeScript.targets
,您可以看到这些属性如何映射到命令行标志以及我是如何计算出来的


就像我说的,我不知道Express以及它是否对修改
.csproj
文件有任何限制,所以请告诉我这是否有效。

最后,我解决了这个问题

解决方案: 我在csproj文件中添加了以下行:

<ItemGroup>
    <TypeScriptCompile Include="$(ProjectDir)\**\*.ts" />
 </ItemGroup>
 <Target Name="BeforeBuild">
    <Exec Command="&quot;$(PROGRAMFILES)\Microsoft SDKs\TypeScript\tsc&quot; @(TypeScriptCompile ->'&quot;%(fullpath)&quot; --outDir myoutputdirectory', ' ')" />
 </Target>

不需要编辑.csproj文件,只需转到项目属性并设置“将JavaScript输出重定向到目录”


我在typescript 1.8中遇到了这个问题,在谷歌搜索了一段时间后,我发现typescript属性项目页面中的以下输出选项不兼容

  • 如果选择将Javascript输出合并到文件中,则如果 要将.js和.map文件放在其他文件中,您必须放在这里 单击该目录,然后执行选择重定向Javascript输出 目录
  • 另一方面,如果您想拥有单独的.js文件并移动 将它们发送到特定目录,然后选择重定向Javascript 输出目录并保持取消选择的组合Javascript 输出到文件中
例如,在我的例子中,我希望在特定目录中有一个组合的.js,然后可能的设置如图所示:


我想无耻地指出,您可以使用:)是的,我知道,但是我如何在visual studio中设置它?您在问题中提到了
--out
标志,它将输出合并到一个文件中,所以我想您不知道
--outDir
,它将输出重定向到一个目录。