加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 07:41:16 所属栏目:asp.Net 来源:网络整理
导读:我正在通过Visual Studio的Cordova模板以及同一Visual Studio解决方案中的ASP.NET MVC Web应用程序开发基于Cordova的移动应用程序.我希望能够在两个项目之间共享尽可能多的 HTML.我遇到的一个问题是在ASP.NET中发生的捆绑和缩小,这在Cordova项目中是不可用的
我正在通过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)MicrosoftVisualStudiov$(VisualStudioVersion)CordovaToolsvs-mda-targetsMicrosoft.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>

在任何Build子任务之前调用PreBuild任务,并将链接的文件复制到Cordova的项目中.其余的构建过程照常运行.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读