解决了!请参阅下面的自我答案。
我正在使用Javascript和HTML构建两个Metro风格的应用程序,这些应用程序将具有不同的表示层,但在引擎盖下有许多类似的功能。由于能够从Javascript调用C#方法,我可以将许多“常用”功能纳入C#WinMd库,然后可以被两个顶级应用程序引用。
但是,有些实用程序类型的函数纯粹是我想要重用的Javascript。似乎没有办法使用Javascript(只有C#或C ++)创建“WinMD”。
在.NET世界中,我通常只将任何文件打包为资源并从公共程序集加载它。有没有办法我可以将“常见”.js文件作为资源添加到WinMD,并通过一些应用程序感知URL(即ms-appx:或ms-resource:或类似的东西)访问它?
答案 0 :(得分:3)
诀窍如下:
< script src =“ms-appx:///MyWinMdProj/path/to/file.js”>
注意三个斜线; “MyWinMdProj”是一个相对于Metro应用程序包(即ms-appx:///)的文件夹,而不是它自己的顶级包。
请注意,以这种方式包含的任何文件都将在C:\ Program Files \ WindowsApps下的文件系统中公开 - 但是顶级应用程序项目中的所有html,js,css等文件都已经存在,所以你在这方面没有比在两个(或更多)不同的应用程序之间复制和粘贴代码更糟糕的了。
答案 1 :(得分:0)
或者,您可以将脚本打包到Nuget包中,类似于jQuery和Modernizer的完成方式,然后只需向两个项目添加Nuget引用。