我使用 Service Fabric SDK 2.1.150 和 Azure Tools v.2.9.4 <从Visual Studio 2015 Update 2设置基本Service Fabric群集/ p>
基本安装是Fabric项目和WebApi服务。一切都有效。 然后我按原样添加一个C#类库,一切正常。
但是,当我从WebApi项目引用此类库时,解决方案不会在本地或云中部署并给我错误:
未为项目“ClassLibrary1.csproj”设置OutputPath属性。请检查以确保您为此项目指定了Configuration和Platform的有效组合。 Configuration ='Debug'Blatform ='AnyCPU'。如果某个其他项目正在尝试遵循项目到项目对此项目的引用,此项目已卸载或未包含在解决方案中,并且引用项目不使用相同或等效项目构建,则也可能出现此错误配置或平台。
我试图手动添加x64而不是AllCPU更改csproj文件,但没有结果。 如果是Service Fabric服务,我基本上不能从Asp.net Core RC2 WebApi项目引用类库。
如果WebApi项目是Asp.net WebApi2项目,则不会发生这种情况。
我该如何解决这个问题? 附上一个项目的图像,它是所有Visual Studio自动生成的模板,没有添加Nuget包或其他代码。 感谢
UPDATE1: 试着遵循这个教程:
Build a web service front end for your application
并且指南显示了使用Asp.net Core(针对.NETFramework 4.5.2)Web Api添加到Fabric服务的普通ClassLibrary。 这可能是新的Service Fabric SDK的错误吗?
答案 0 :(得分:1)
如果您尝试从.NET Core应用程序或库引用普通类库,则会发生这种情况。屏幕截图中 ClassLibrary1 左侧的小图标似乎表示普通类库。您应该将其替换为类库(.NET Core),您可以在VS的 .NET Core 项目模板文件夹中找到它。
看下面的图片。 ClassLibrary2 工作正常。 ClassLibrary3 会抛出您发布的错误。
Web1项目的 project.json 的差异。
除了使用正确的项目模板之外,您还必须在引用的和引用的lib或应用程序中定位相同(或兼容)的框架。
确保在 project.json (在Web1和ClassLibrary2中)中使用 frameworks 的相同条目。
"frameworks": {
"net452": { }
}