gpt4 book ai didi

asp.net-mvc - 在 ASP.NET MVC 项目和 Cordova 项目之间共享代码

转载 作者:行者123 更新时间:2023-12-03 17:48:46 24 4
gpt4 key购买 nike

我正在通过 Visual Studio 的 Cordova 模板以及同一 Visual Studio 解决方案中的 ASP.NET MVC Web 应用程序开发基于 Cordova 的移动应用程序。我希望能够在两个项目之间共享尽可能多的 HTML。我遇到的一个问题是在 ASP.NET 中发生的捆绑和缩小,而这在 Cordova 项目中不可用。我有什么想法可以在两个项目中支持 Visual Studio 中的缩小,这将允许我共享尽可能多的代码?

最佳答案

Cordova 的项目文件 .jsproj是一个由 MSBuild 处理的普通构建文件,因此您可以通过添加自定义目标来应用您需要的任何处理逻辑。您甚至可以通过安装相应的 VS 扩展来运行来自 Node.js 世界的工具,如 Grunt 或 Gulp。

至于在ASP.NET和Cordova项目之间共享代码,我建议在你的.jsproj中添加链接,如下:

<PropertyGroup>
<AspNetProject>C:\YourAspNetProject</AspNetProject>
</PropertyGroup>
<ItemGroup>
<Content Include="$(AspNetProject)\Views\**\*.cshtml">
<Link>views\%(RecursiveDir)%(FileName).html</Link>
</Content>
<!-- add other links here -->
</ItemGroup>

这样 VS 在解决方案资源管理器中显示链接的文件,并允许您像在本地一样编辑它们。

不幸的是,当前版本的 VS Tools for Apache Cordova CTP3 不支持链接项,因此必须在您的 .jsproj 中进行另一项更改:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CordovaTools\vs-mda-targets\Microsoft.MDA.targets" />
<PropertyGroup>
<BuildDependsOn>PreBuild;$(BuildDependsOn)</BuildDependsOn>
</PropertyGroup>
<Target Name="PreBuild">
<ItemGroup>
<LinkedFiles Include="@(Content)" Condition="'%(Content.Link)' != ''" />
<!-- add other links here -->
</ItemGroup>
<Copy SourceFiles="%(LinkedFiles.Identity)" DestinationFiles="%(LinkedFiles.Link)" />
</Target>
PreBuild任务在任何 Build 之前被调用子任务并将链接的文件复制到您的 Cordova 项目。其余的构建过程照常运行。

关于asp.net-mvc - 在 ASP.NET MVC 项目和 Cordova 项目之间共享代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26348920/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com