Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 SharePoint最佳实践与解决方案_Visual Studio 2010_Sharepoint 2010 - Fatal编程技术网

Visual studio 2010 SharePoint最佳实践与解决方案

Visual studio 2010 SharePoint最佳实践与解决方案,visual-studio-2010,sharepoint-2010,Visual Studio 2010,Sharepoint 2010,我想知道我是否可以对sharepoint Web部件和Visual Studio结构的最佳实践有一些想法。我的意思是,我有几个sharepoint表单应用程序项目,所有项目都有几个选项卡或页面(管理页面、查看记录页面等),并且都在同一个大型“intranet”公司项目下。我看到很多教程和其他网站似乎把他们所有的网页都放在不同的解决方案中。我有三个问题: 1.)表单项目的每个“部分”(即使是另一个页面)是否应位于不同的Web部件或同一项目中?我会考虑后者,因为如果它在另一个项目中,在运行时很难控制

我想知道我是否可以对sharepoint Web部件和Visual Studio结构的最佳实践有一些想法。我的意思是,我有几个sharepoint表单应用程序项目,所有项目都有几个选项卡或页面(管理页面、查看记录页面等),并且都在同一个大型“intranet”公司项目下。我看到很多教程和其他网站似乎把他们所有的网页都放在不同的解决方案中。我有三个问题:

1.)表单项目的每个“部分”(即使是另一个页面)是否应位于不同的Web部件或同一项目中?我会考虑后者,因为如果它在另一个项目中,在运行时很难控制它

2.)同一主intranet项目的其他形式,但在其自己的Visual Studio项目中,是否应采用相同的解决方案?或者不同的


3.)类库。。。它们的实现方式是否与WPF或ASP.net相同?

这取决于您的需求。大多数情况下,我使用WebPart只是作为包装器来动态加载我的UserControl(它们位于不同的项目中,但在相同的解决方案中)。如果您需要更“静态”的东西,我建议使用应用程序页面而不是Web部件

我将尝试用一个例子来解释它:

假设你想创建一个解决方案,帮助你的项目经理完成他们的工作(哈哈:-)。您可以将此应用程序称为“PM应用程序”。它由三部分组成:问题跟踪程序、时间跟踪程序和报告应用程序

显然,第一步是创建一个名为“PM App”的空白解决方案。由于解决方案的所有3个部分都有一些共同点,例如记录器组件或DataAccessLayer,因此您将创建一个名为“common”的新项目

那么这实际上取决于您的解决方案设计。假设我们选择WebPart/UserControl解决方案。您创建了一个名为“SP PM”的新项目,它是一个SharePoint项目(实际上,我还没有为这个项目找到合适的名称)。然后为解决方案的每个部分创建一个Web部件(IssueTrackerWebPart等)。现在,如果每个Web部件只有1个用户控件,那么easy peasy。Web部件基本上充当用户控件的包装器

如果你(想要)有多个用户控件,它会变得相当棘手。我总是创建一个名为“UserControls”的新ASP.NET Web应用程序项目,并在其中添加我的UserControls。这样做的问题是引用“SP PM”项目中的UserControls。 引用dll没有问题,而引用.ascx文件则没有问题

我要做的是,使用后期生成的脚本将.ascx文件从我的“UserControls”项目复制到我的“SP PM”项目。我知道这肯定不是最好的解决方案,但是我已经和许多其他开发人员讨论过这个问题,但是直到现在还没有人找到更好的解决方案

这在SharePoint环境中是一个非常棘手的问题(实际上在任何其他环境中都是如此),据我所知,没有任何最佳实践。最好的做法是与您的开发伙伴坐在一起,询问他们如何创建解决方案/项目结构,然后找到一个好的折衷方法

tl;dr没有“通用”的方式-真正取决于您的需求

我很快将解决方案组合到了我认为应该是什么样子:


希望这对您有意义,如果您还有任何问题,请随时提问。我还想听听其他人对这些问题的看法:-)

当然。2)我认为这与你对1的回答是一致的。我试图从维护和部署的角度来决定什么是最好的。如果我有application1(这是一个有字段的表单,人们填写它们,然后将内容发送到电子邮件)和application2,这是一个人们可以访问的数据电子表格。这两个不同的网页部件、不同的用户控件、不同的项目?我想我对web部件和用户控件之间的命名和概念差异感到困惑。此外,在一个特定项目中是否应该有多个Web部件?#3类似于数据访问层。假设我在那里上了一堂信使课。这个类所做的就是处理电子邮件请求。我不想重复我的努力并将其复制到每个Web部件项目中。我更希望有一个包含所有泛型类的库,并让我的Web部件引用它们。这更有意义吗?如果是的话,我该怎么做?你有关于怎么做的教程吗。我们前几天试过了,在尝试访问图书馆时遇到了各种各样的错误。