我们有一个混合的(基于窗体和Windows的)SharePoint 2010网站,并且我试图在c#(命令行控制台应用程序,引用到Microsoft.SharePoint,解决方案平台目标是x64 [在VS 2012中,我不得不创建一个新的解决方案平台,并从]复制设置。)
在PowerShell中,我可以简单地执行以下操作
$site = Get-SPSite http://www.server.com/sites/site1
它成功地检索了该对象,并且我可以根据需要打开包含的SPWebs等。但是,当我尝试在C#中使用相同的逻辑(在相同用户凭据下的同一框中)时,例如
using(SPSite site = new SPSite("http://www.server.com/sites/site1") { }
它失败,并出现FileNotFoundException。使用关联的Guid的任何尝试都会遇到相同的问题。为什么会这样呢?
另外,我是管理员,并且在数据库上也明确拥有sysadmin服务器角色。
最佳答案
我假设您正在命令提示符下执行此操作?如果是这样,请确保您在x64中编译项目。这是我在x86或Any CPU中编译代码时看到的错误消息。