【发布时间】:2018-01-28 19:00:21
【问题描述】:
使用最新的 Service Fabric SDK (5.7.198) 和 Visual Studio Professional 15.3.1
我在尝试调试或部署 aspnetcore2.0 无状态服务时遇到了问题。在项目创建向导之后我没有对项目进行任何更改,除了添加一个新的控制器。
我已尝试重新安装 x64 和 x86 版本的 .Net Core SDK。项目设置为 x64。下面是整个.csproj
<PropertyGroup>
<TargetFramework>net461</TargetFramework>
<RuntimeIdentifier>win10-x64</RuntimeIdentifier>
<IsServiceFabricServiceProject>True</IsServiceFabricServiceProject>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore" Version="2.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.ViewCompilation" Version="2.0.0" PrivateAssets="All" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.0" />
<PackageReference Include="Microsoft.ServiceFabric" Version="5.7.198" />
<PackageReference Include="Microsoft.ServiceFabric.AspNetCore.Kestrel" Version="2.7.198" />
<PackageReference Include="Microsoft.ServiceFabric.Data" Version="2.7.198" />
<PackageReference Include="Microsoft.ServiceFabric.Services" Version="2.7.198" />
<PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="2.0.0" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.0.0" />
</ItemGroup>
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0" />
</ItemGroup>
项目的处理器架构不匹配 正在构建的“AMD64”和参考的处理器架构 "C:\程序 Files\dotnet\sdk\NuGetFallbackFolder\microsoft.visualstudio.web.codegeneration.design\2.0.0\lib\net461\dotnet-aspnet-codegenerator-design.exe", “x86”。这种不匹配可能会导致运行时失败。请考虑 通过更改项目的目标处理器架构 配置管理器以调整处理器架构 在您的项目和参考之间,或依赖于 具有与目标相匹配的处理器架构的参考 项目的处理器架构。 MyApi C:\程序文件 (x86)\微软视觉 Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets 1987
可能与这个问题有关。Github issue
我已经发布了我的复制代码GitHub Repo
【问题讨论】:
-
我将
<PlatformTarget>x64</PlatformTarget>放在我的服务的 csproj 文件中(我把它放在第一个PropertyGroup下)作为一种解决方法。由于 SF 库仅支持 x64,我认为这样做是可以的 - 除非有人可以提出其他建议! -
@Mardoxx 添加了这个但仍然在我的输出窗口中收到警告
-
嗯,您是否尝试过在构建配置菜单上将目标设置为 x64?
-
似乎没有帮助@Mardoxx刚刚将回购添加到这个问题。真正的基本回购。如果我做一个 webapi,那么我可以调试。认为问题是当您添加一个 mvc 模板,然后脚手架一个新的控制器。无论添加什么引用,我认为都是错误的位类型。
-
我遇到了同样的问题!可能值得在那个 github 问题上链接你的 repro!
标签: c# visual-studio asp.net-core .net-core azure-service-fabric