我正在为sharepoint工作流编写自定义活动,我不知道如何使用当前的工作流程项,SPWeb或SPSite.
我看到http://blogs.microsoft.co.il/blogs/davidbi/archive/2008/07/21/How-to-get-the-context-item-in-workflow-activity-sharepoint.aspx但xml例程这个解决方案对我来说太糟糕了.
也许还有另一个仅代码解决方案来获取Workflow活动中的上下文项?
我试图写一个CAML查询执行针对特定SPList,范围限定于特定的文件夹,从该点递归,并返回所有listItems中(其中符合标准)和文件夹.
这是查询的代码,它似乎应该工作(格式化为可读性):
SPQuery query = new SPQuery();
query.Query = "
<Where>
<Or>
<Contains>
<FieldRef Name=\"FileRef\" />
<Value Type=\"Text\">foo</Value>
</Contains>
<Eq>
<FieldRef Name=\"FSObjType\" />
<Value Type=\"Lookup\">1</Value>
</Eq>
</Or>
</Where>";
query.ViewFields = "
<FieldRef Name=\"CustomField1\" Nullable=\"TRUE\" />
<FieldRef Name=\"CustomField2\" Nullable=\"TRUE\" />
<FieldRef Name=\"CustomField3\" Nullable=\"TRUE\" />
";
query.RowLimit = 500;
query.ViewAttributes = "Scope=\"RecursiveAll\"";
query.Folder = startingFolder;
DataTable dt = myList.GetItems(query).GetDataTable();
Run Code Online (Sandbox Code Playgroud)
所以 - 这只返回ListItems - 没有文件夹.
如果我从查询中删除其他条件,只留下FSObjType=1,我得到一个COM异常"无法完成此操作.请再试一次."
如果我然后删除ViewFields,只留下Scope=RecursiveAll和FSObjType=1,我得到一个空的结果集.
我有一个SharePoint Web部件(实际上只是一个"Hello World"应用程序),我刚刚创建并且部署它时遇到问题.我签署了.dll,创建了.dwp,并在web.config中将其注册为安全控件.我可以将它添加到Web部件库并为其添加详细信息; 但是,当我尝试将其添加到页面时,我收到以下错误:
无法显示或导入此页面上的Web部件或Web窗体控件.无法找到该类型或未注册为安全类型.
以下是我的.dwp文件:
<?xml version="1.0"?>
<WebPart xmlns="http://schemas.microsoft.com/WebPart/v2">
<Assembly>SimpleWebPart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=################</Assembly>
<TypeName>MyWebParts.SimpleWebPart</TypeName>
<Title>My Simple Web Part</Title>
<Description>A simple Web Part</Description>
</WebPart>
Run Code Online (Sandbox Code Playgroud)
和我添加到web.config的条目:
<SafeControl Assembly="SimpleWebPart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=################" Namespace="MyWebParts" TypeName="*" Safe="True" />
Run Code Online (Sandbox Code Playgroud)
我也尝试使用通配符作为命名空间,但没有帮助.我甚至尝试将web.config信任级别设置为"Full"(我不会在生产中做,但试图尝试缩小问题范围)并且仍然没有运气.有任何想法吗?谢谢.
所以,我正在尝试做我认为是一项简单的任务...但我没有得到任何地方......我想要的是获取我的WebPart加载的一些.js和.css文件.我正在使用VS2008 + WSPBuilder.我已经搜索了很多关于这一点,但我找不到一个体面的答案.我想知道的是:
在目录结构中我应该放置那些文件?(例如12/TEMPLATE/OTHER?80/wpresources/assembly_name?)
我怎样才能获得这些文件?(使用相对路径?通过某种方法获取完整路径?)
最后,我如何将这些文件添加到页面中<head>?
在此先感谢..我在这些问题中失去了所有的早晨,我正在考虑改变职业生涯!;)
当我想要访问网络时,我通常必须执行以下代码,这些代码相当自我解释.
using (SPSite site = new SPSite(siteUrl))
{
SPWeb web = null;
if (string.IsNullOrEmpty(webName))
web = site.RootWeb;
else
web = site.AllWebs[webName];
...
web.Close();
}
Run Code Online (Sandbox Code Playgroud)
给出一个直接指向网站的网址:
所以在这种情况下,siteUrl将是:http:// localhost/sites/testsite
和webName将是:testWeb
我想简单地从用户那里得到一些与这两个单独位相对的信息,即直接到网址的URL:http:// localhost/sites/testsite/testweb /
我想使用此URL打开Web,而不必手动指定Web名称.我玩过site.OpenWeb并尝试将url传递给它,但它不喜欢这样.它只需要服务器相对URL.有没有办法只是能够从用户那里获得一个网址,以便打开网络,而不是将网址分开并假设最后一点可能是也可能不是网络的名称,这取决于我们是否"是否会访问根网站,但这会使代码更糟糕.
RunspaceConfiguration psConfig = RunspaceConfiguration.Create();
Runspace psRunspace = RunspaceFactory.CreateRunspace(psConfig);
psRunspace.Open();
using (Pipeline psPipeline = psRunspace.CreatePipeline())
{
// Define the command to be executed in this pipeline
Command command = new Command("Add-spsolution");
// Add a parameter to this command
command.Parameters.Add("literalpath", @"c:\project3.wsp");
// Add this command to the pipeline
psPipeline.Commands.Add(command);
// Invoke the cmdlet
try
{
Collection<PSObject> results = psPipeline.Invoke();
Label1.Text = "hi"+results.ToString();
// Process the results
}
catch (Exception exception)
{
Label1.Text = exception.ToString();// Process the exception here
}
}
Run Code Online (Sandbox Code Playgroud)
它抛出异常:
System.Management.Automation.CommandNotFoundException: …Run Code Online (Sandbox Code Playgroud) 在我的一个项目中,我使用的是来自Codeplex的第三方dll.当我在开发盒中开发代码时,我使用了gacutil命令将它添加到GAC中.
现在,我需要将项目的wsp发送到测试团队以便在我们的测试框上进行部署,他们不会采用单独的dll.
如何将第三方dll与我发送的wsp打包在一起,以便将其部署到GAC中并由代码使用.
请告诉我.
我正在尝试下载梦幻般的U2U Caml查询生成器,但我找到的所有链接都已死,我在u2u网站上找不到任何引用.它已经结束了吗?有谁知道它仍然可用的位置?
我正在尝试将报表服务器2016的报表集成到我们的SharePoint2013中.
它适用于Reporting Server 2012,但不再适用于新环境.
我已经阅读了一下,发现报告服务器正在回答标题中发送带有X-Frame-Options = SAMEORIGIN的报告.
是否有可能在报告服务器中关闭它?
安装忽略标头的浏览器插件不是一种选择.
我的Dev机器里面有以下内容: -
但是当我点击开始调试时,得到了这个奇怪的异常: -
严重级代码说明项目文件行抑制状态错误无法加载一个或多个请求的类型.检索LoaderExceptions属性以获取更多信息.SharePointProject6
这是我的SP 2016解决方案的样子: -
我的项目也显示了这个警告: -
严重级代码说明项目文件行抑制状态警告调用类型为'Microsoft.VisualStudio.SharePoint.WorkflowDesignerSupport.PackageBootstrapper,Microsoft.VisualStudio.SharePoint.WorkflowDesignerSupport,Version = 14.0.0.0,Culture = neutral,PublicKeyToken的方法'projectService_ProjectInitialized'时发生未处理的异常= b03f5f7f11d50a3a".例外:System.IO.FileNotFoundException.消息:无法加载文件或程序集"Microsoft.Activities.Design.Services,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35"或其依赖项之一.该系统找不到指定的文件.SharePointProject6 0
所以有人可以就此提出建议吗?谢谢
编辑
这是参考文献
EDIT-2
当我从以下位置" C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5" 查看我当前的参考文献时,我得到以下内容: -
编辑-3
现在我去到另一台机器它的Visual Studio 2015年安装了(其实这是我的dev的笔记本电脑),我复制Microsoft.Activities.Design.Services.dll从C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.Activities.Design.Services\v4.0_1.0.0.0__31bf3856ad364e35,然后我将其粘贴在我的服务器具有SharePoint和安装Visual Studio内: -
然后我打开视觉工作室项目,我浏览Microsoft.Activities.Design.Services.dll,然后将其添加到我的visual studio项目中,如下所示: -
但我仍面临同样的错误.现在我尝试运行visual studio作为Admin.Plus我清除我的项目的bin文件夹.另外我修复了视觉工作室,我修复了视觉工作室的开发工具......但是当我运行项目时,我会收到同样的错误......
Edit-4 现在我修复了Visual Studio 2015,我收到了以下消息: -
所以我不确定这些消息是否与我面临的问题有关?
sharepoint ×10
caml ×2
.net ×1
c# ×1
css ×1
embed ×1
iframe ×1
javascript ×1
powershell ×1
report ×1
safecontrols ×1
spquery ×1
web-config ×1
web-parts ×1
wspbuilder ×1