我在Visual Studio中创建了一个功能,使用WSPBuilder构建.wsp文件,该文件包含一些需要复制到_layouts文件夹的aspx文件。我在项目中创建了12个hive结构,将所有xml文件(例如feature.xml)复制到右侧子文件夹,将aspx文件放在正确的位置并构建.wsp文件。
当我部署并激活该功能时,aspx文件被复制到_layouts文件夹,一切都很顺利。然后,没有任何理由,SharePoint做到了它是最好的,并停止工作。现在,每当我部署该功能并激活它时,我注意到没有任何aspx文件被复制到_layouts文件夹。我在日志文件中看不到任何指向问题的消息。
这是我的feature.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<Feature Id="3263C427-F0FA-4cad-8C7F-459F31E36D34"
Title="Test"
Description="Test"
Version="1.0.0.0"
Hidden="FALSE"
Scope="Web"
DefaultResourceFile="core"
xmlns="http://schemas.microsoft.com/sharepoint/">
<ElementManifests>
<ElementManifest Location="CustomActions.xml" />
<ElementManifest Location="module.xml" />
</ElementManifests>
</Feature>
CustomActions.xml包含在站点的列表设置页面上创建的一些链接,以便处理正常。问题是'module.xml':
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Module Name="Page1" Url="_layouts">
<File Url="Page1.aspx" Type="Ghostable" />
</Module>
<Module Name="Page2" Url="_layouts">
<File Url="Page2.aspx" Type="Ghostable" />
</Module>
</Elements>
我无法发现我在这里做错了什么 - 实际上,整个部署在上述文件中运行良好,所以我只是感到困惑,为什么它停止工作。我通常会重新跟踪我的步骤并思考我是否做了一些事情导致这种情况,但我没有。
如果有人以前曾经历过这种情况,可以给我一些提示,那就太棒了。在那之前,我会继续努力让这个工作,并想知道为什么,对于这样一个受欢迎的平台,SharePoint比一个头皮屑的少年更加富有。
干杯。 雅各
答案 0 :(得分:6)
好吧,你不需要将文件配置到_Layouts文件夹。你所要做的只是复制。根据您的问题,您正在使用wsp构建器。您可以删除<ElementManifest Location="module.xml" />
和文件。
只需将文件放入12 \ TEMPLATE \ LAYOUTS文件夹并运行wspbuilder即可。文件将进入_layouts。供应仅适用于需要进入站点的文件。 _Layout文件是应用程序页面,这是执行此操作的最佳方法。
答案 1 :(得分:0)