Visual Studio意外地在加载时添加功能

Jon*_*man 7 sharepoint visual-studio sharepoint-2010 visual-studio-2013

我在Visual Studio 2013中有一个SharePoint 2010解决方案.每次关闭并重新打开Visual Studio时,都会在解决方案中添加一个新功能,其中包含一个列表.该列表已从其应该处于的另一个功能中删除.它始终是相同的列表.一旦我打开解决方案,这会在我执行任何操作之前弹出"输出"窗口...

A new feature Feature2 has been added to the project Solution
C:\Code\Solution\Package\Package.package (0,0): Added Feature2 to Package

是什么造成的?

我尝试过以下方法:

  1. 重新创建解决方案并复制所有文件 - 无变化
  2. 检查包和项目清单. - 一切看起来都不错.
  3. 以不同的方式加载项目,包括卸载和重载命令.- 没变
  4. 重新创建它喜欢的列表以隔离它自己的功能 - 没有变化
  5. 重新创建列表应该包含的功能,但它继续移动到这个新功能 - 没有变化
  6. 添加了一个新列表并将其放在功能中的问题列表之后 - VS然后创建了3个新功能!它从我的功能中取出了3个列表,并在每个功能中添加了一个.我想我生气了.

小智 7

如果同一要素中的列表具有相同的类型ID,则工具会将列表移动到新创建的要素中,因为类型在要素中必须是唯一的.您可以查看ListTemplate元素的文档以获取更多信息.


son*_*iic 5

这是因为要素不能包含具有相同值的列表模板Type.这在这里解释:https://msdn.microsoft.com/en-us/library/office/ms462947.aspx

类型

可选整数.

为模板提供唯一标识符.此标识符在功能中必须是唯一的,但不必在所有功能定义或网站定义中唯一.有关默认列表模板类型的列表,请参阅SPListTemplateType.

您可能会发现列表模板的Elements.xml文件包含与Type相同的值.

要解决此问题,您需要编辑列表模板和列表实例的Elements.xml文件.

  1. 将ListTemplate xml元素的Type更改为唯一的整数.
  2. 将ListInstance xml元素的TemplateType更改为相同的整数

我已经开始选择超过1000的数字以避免冲突(尽管1100,1200,1220和1221是系统类型)