我正在尝试运行以64位模式引用.NET框架的ASP.NET Core项目,但它似乎以32位模式运行。
我尝试过创建两个简单的默认ASP.NET Core 2.0项目。一个引用.NET Framework,一个引用.NET Core。像这样:
项目1:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net461</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore" Version="2.0.3" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.0.4" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.ViewCompilation" Version="2.0.4" PrivateAssets="All" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.0.3" />
<PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="2.0.3" />
</ItemGroup>
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.4" />
</ItemGroup>
</Project>
项目2:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.8" />
</ItemGroup>
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.4" />
</ItemGroup>
</Project>
然后,在Startup.cs
中,我使用以下代码检查我是否处于32位或64位模式:
var size = IntPtr.Size;
对于项目1 size
是4
。对于项目2,size
为8
。
是不是可以在64位模式下运行.NET Framework应用程序?
我在64位Windows 10上,在Visual Studio 15.7.3(使用IIS Express 10)中调试项目
修改
项目配置为使用AnyCPU
运行。