在 Visual Studio (2008) 中,有没有办法在另一个自定义文件上创建自定义依赖文件?
-
05-09-2019 - |
题
我想要一个 *.js 文件,而不是后面或旁边的 *.cs 代码。我正在开发一个 MVC 应用程序,不需要额外的代码,因为我有控制器,但在某些情况下,最好有一个 JavaScript 代码,或者通过某种方式将文件关联到正在使用的页面。我想我可以对它们进行类似的命名,但如果可能的话,我想显示关联,这样就不会有文件用途的问题。
通常我所说的是 Visual Studio 中的 Global.asax 文件,左侧会有一个加号:
+ Global.asax
一旦你扩展它,你会得到
- Global.asax
Global.asax.cs
我希望同样的事情发生:
+ Home.spark
- Home.spark
Home.spark.js
更新:
我现有的 csproj 文件有一个实际文件的路径,不确定这是否会搞砸。我目前有:
<ItemGroup>
<Content Include="Views\User\Profile.spark.js">
<DependentUpon>Views\User\Profile.spark</DependentUpon>
</Content>
</ItemGroup>
<ItemGroup>
<Content Include="Views\User\Profile.spark" />
</ItemGroup>
它只是将文件并排显示。
解决方案
当然 - 但你必须手工编辑项目文件。寻找你的“孩子”文件的条目,并改变它是一个非自闭元素,并添加一个子元素说什么这取决于。下面是一个cs文件被编译的示例:
<Compile Include="AssertCount.cs">
<DependentUpon>MoreEnumerable.cs</DependentUpon>
</Compile>
这就是我刚刚嘲笑为您所指定的文件版本 - 虽然我希望Home.spark
将具有与其相关联的行动,而不是“无”:
<ItemGroup>
<Content Include="Home.spark.js">
<DependentUpon>Home.spark</DependentUpon>
</Content>
</ItemGroup>
<ItemGroup>
<None Include="Home.spark" />
</ItemGroup>
Visual Studio中显示它就像你希望它。
其他提示
有是 VSCommands添加-在其中允许直接从IDE配置依赖文件
链接更新,先前的是 http://mokosh.co.uk/vscommands
FYI:当安装VSCommands,只需选择你希望依赖的文件和根文件,然后点击右键 - >组项目......和VSCommands会问你想成为哪根的文件文件。
我不知道你怎么可以通过Visual Studio的UI本身做到这一点,但如果你打开一个文本编辑器中的csproj文件,你可以看到他们是如何做到这一点的Global.asax中。
它通常看起来是这样的:
<Compile Include="Global.asax" />
<Compile Include="Global.asax.cs">
<DependentUpon>Global.asax</DependentUpon>
</Compile>
虽然这里的其他解决方案(编辑项目文件)单个文件的工作,我们已经做了同样的事情,但希望它为所有自动的工作* .conv和* .conv.js文件,而不是编辑项目文件为每一个。
当我们添加一个新的.conv文件到我们的应用程序,如果我们有一个* .conv.js文件,它在它自动巢,你会用的.aspx和* .aspx.cs预期。
我找不到我用此设置(它不涉及注册表黑客)原教程,但这里是一个我从谷歌搜索发现刚才描述同一件事:
HTTP://blog.dotnetwise的.com / 2009/09 /视觉工作室-2008-定制嵌套files.html
如果您需要为某些文件添加代码隐藏,有一个解决方法。例如你想做 测试.xaml.cs 的孩子 测试.xaml. 。完成以下步骤:
排除两者 测试.xaml 和 测试.xaml.cs 从项目中,保存项目。
卸载项目。
重新加载项目。
单击文件资源管理器窗格中的“显示隐藏文件”。
文件 测试.xaml.cs 将显示为 测试.xaml.
将文件添加回项目,保存项目。
就是这样。现在 测试.xaml.cs 取决于 测试.xaml.
您可以手动编辑项目文件,已经约翰Skeed建议,或者你也可以对的文件嵌套扩展为Visual Studio 会为你做的工作。