当我编辑Web应用程序项目时,Visual Studio 2017(15.3.1)在csproj文件中添加了<Use64BitIISExpress />元素Project/PropertyGroup.我找不到任何文档,目的是什么,如果它影响了某些东西,当它呈现时(因为它没有任何属性).
只有我能够找到的结果才提到同名的注册表值.
有人知道这个元素的用途吗?是否在最近的Visual Studio 2017更新中引入了它?
我在我的开发IIS服务器(来自VS2010 IDE)上运行以下方法,在64位Windows 7计算机上安装了16 GB的RAM:
public static MemoryStream copyStreamIntoMemoryStream(Stream stream)
{
long uiLen = stream.Length;
byte[] buff = new byte[0x8000];
int nSz;
MemoryStream ms = new MemoryStream();
try
{
while ((nSz = stream.Read(buff, 0, buff.Length)) != 0)
{
ms.Write(buff, 0, nSz);
}
}
finally
{
Debug.WriteLine("Alloc size=" + ms.Length);
}
return ms;
}
Run Code Online (Sandbox Code Playgroud)
我得到了System.OutOfMemoryException这一行:
ms.Write(buff, 0, nSz);
Run Code Online (Sandbox Code Playgroud)
分配268435456个字节时抛出:
Alloc size = 268435456
这是0x10000000或256 MB.所以我想知道是否需要设置一些全局设置才能使其正常工作?
以下是项目配置设置的屏幕截图:

我有一个使用64位版本的SharpSvn的Web应用程序,这是一个具有非托管依赖性的托管DLL.它不会在IIS Express 7.0中运行.切换到32位版本的程序集工作正常.
我安装了64位版本的IIS 8 RC.但是,Visual Studio 2010会启动32位版本的IIS Express.
.
我可以使用以下命令手动启动64位版本的IIS:
"C:\Program Files\IIS Express\iisexpress.exe" /config:"C:\Users\zippy\Documents\IISExpress\config\applicationhost.config" /site:"MrDVCS" /apppool:"Clr4IntegratedAppPool"
Run Code Online (Sandbox Code Playgroud)
在我的WebProject.csproj中似乎是相关的XML <UseIISExpress>true</UseIISExpress>.如果我在Visual Studio中编辑该文件,则Intellisense不会为64位提供类似的命名标记,并且它不会为我提供属性.
那么如何让Visual Studio启动64位版本的IIS Express RC?
我有一个VS2012解决方案,可简化如下:一个asp.net mvc 4 web应用程序,一个中间c#类库项目,以及一个用于计算的结束c#库项目等.
Web应用程序当前没有引用其他项目,并在构建时配置为"任何CPU".最终项目是x64.我现在想通过中间项目将Web应用程序加入到最终项目中,但是当我尝试从Web应用程序引用中间x64项目时,我理解得到架构类型错误.如果我将Web应用程序设置为x64,我也会遇到相同类型的错误.
Web应用程序将在x64服务器上运行,因此我认为最简单的方法是将Web应用程序设置为x64,但我相信可能无法回溯更改它,即需要将其创建为x64.
我的问题是我可以将现有的网络应用程序转换为x64吗?如果没有,我如何创建一个x64 Web应用程序(我看不到任何选项)编辑:即使我设置了一个新的mvc 4项目,将构建设置更改为x64我仍然遇到此问题.
听到我对软件开发很陌生,你会感到惊讶,虽然x86和x64之间的构建错误看起来很直观,但我并不理解为什么.在这个主题上似乎有很多帖子,答案是'将所有项目更改为任何Cpu,但我不得不将最终项目保持为x64.
我正在使用Windows 8和IIS 8.
作为参考,我在将中间项目的引用添加到Web应用程序时获得的构建警告是:
警告1正在构建的项目的处理器体系结构"MSIL"与参考C:\ MyPath\Sln\MiddleProject\bin\x64\Debug\MiddleProject.dll","AMD64"的处理器体系结构不匹配.不匹配可能会导致运行时失败.请考虑通过Configuration Manager更改项目的目标处理器体系结构,以便在项目和引用之间调整处理器体系结构,或者依赖于具有与目标处理器体系结构相匹配的处理器体系结构的引用.你的项目.
我正在尝试使用Web服务实现DocX以替换Sharepoint中文档库中的文档中的信息.我遇到了困难,因为当我运行我的项目并尝试将信息发送到api地址时,我收到以下错误
Microsoft SharePoint is not supported in 32-bit process. Please verify that you are running in a 64-bit executable.
Run Code Online (Sandbox Code Playgroud)
在下一行调试代码时会中断
using (SPSite site = new SPSite(siteurl))
Run Code Online (Sandbox Code Playgroud)
我发现我需要在64位模式下运行该项目,但如果我选择该选项,项目就不会运行.我还发现无法检查选项Prefer 32bit但是该选项已禁用且未检查,最后在IIS应用程序池提前设置中我需要将其设置为true选项启用32位应用程序,但它没有做任何事情.
以前没有一个对我有用,我想请求帮助解决这个问题.
我正在开发Sharepoint 2013,Visual Studio 2012和MVC 4.
编辑 -
API函数
public class DocumentController : ApiController
{
public DocModel Get(string docId, string docName, string docLibrary, string newDocLibrary)
{
DocModel document = new DocModel();
try
{
string siteurl = "http://win-n1ni65gppp2/";
using (SPSite site = new SPSite(siteurl))
{
using (SPWeb web = site.OpenWeb())
{}
}
catch …Run Code Online (Sandbox Code Playgroud) c# ×2
asp.net ×1
asp.net-mvc ×1
csproj ×1
iis-8 ×1
iis-express ×1
memory ×1
sharepoint ×1
webforms ×1