Visual Studio具有用于编辑SharePoint功能定义的设计器。设计器窗口中还有功能范围设置。我真的很好奇这个值存储在磁盘上的位置。当我打开* .feature文件时,那里缺少这个值。另一方面,我们可以看到一个奇怪的加密版本属性。请参阅.feature文件:
<?xml version="1.0" encoding="utf-8"?>
<feature
xmlns:dm0="http://schemas.microsoft.com/VisualStudio/2008/DslTools/Core"
dslVersion="1.0.0.0"
Id="07abccbd-9471-4780-8ee9-801fe4191e9b"
alwaysForceInstall="true"
isHidden="true"
featureId="07abccbd-9471-4780-8ee9-801fe4191e9b"
imageUrl=""
solutionId="00000000-0000-0000-0000-000000000000"
title="MyFeature"
version="AAEAAAD/////AQAAAAAAAAAEAQAAAA5TeXN0ZW0uVmVyc2lvbgQAAAAGX01ham9yBl9NaW5vcgZfQnVpbGQJX1JldmlzaW9uAAAAAAgICAgBAAAAAAAAAAAAAAAAAAAACw=="
deploymentPath="$SharePoint.Project.FileNameWithoutExtension$_$SharePoint.Feature.FileNameWithoutExtension$"
xmlns="http://schemas.microsoft.com/VisualStudio/2008/SharePointTools/FeatureModel"
>
<projectItems>
<projectItemReference itemId="29f8daa7-e342-4e50-980c-9d132b55a26a" />
</projectItems>
</feature>
BTW我不喜欢那个设计师; - )
答案 0 :(得分:2)
作用域作为属性(// feature / @ scope)存储在.feature文件中,但仅当作用域不是Web时才存在。
答案 1 :(得分:1)
我刚刚在VS 2010中创建了一个新的Visual Web Part项目,以便在SharePoint 2010环境中部署,即使我将其转换为Web,我也能够看到范围属性。
<Feature xmlns="http://schemas.microsoft.com/sharepoint/" Title="VisualWebPartProject1 Feature1" Description="My Visual WebPart Feature" Id="9d3f9e5f-f8ad-4201-a7dd-ab22c6c3c166" Scope="Web">
一旦我关闭我的解决方案并通过Windows资源管理器查看该文件,范围属性就消失了。
所以我做了一些探讨,看看有没有提到范围......
我甚至在Visual Studio中进行了搜索,找到了对Scope这个词的任何提及,只得到了我的spdata文件,该文件讨论了webpart的部署范围,并且其中的值与我的功能范围不同,所以我不能认为任何一个都有帮助。
我现在也有兴趣知道答案......