使用Service Fabric和Asp.net Core 1.0 WebApi无状态服务未为项目'ClassLibrary1.csproj'设置OutputPath属性

时间:2016-06-24 18:26:26

标签: asp.net-core asp.net-core-mvc azure-service-fabric

我使用 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包或其他代码。 感谢

enter image description here

UPDATE1: 试着遵循这个教程:

Build a web service front end for your application

并且指南显示了使用Asp.net Core(针对.NETFramework 4.5.2)Web Api添加到Fabric服务的普通ClassLibrary。 这可能是新的Service Fabric SDK的错误吗?

1 个答案:

答案 0 :(得分:1)

如果您尝试从.NET Core应用程序或库引用普通类库,则会发生这种情况。屏幕截图中 ClassLibrary1 左侧的小图标似乎表示普通类库。您应该将其替换为类库(.NET Core),您可以在VS的 .NET Core 项目模板文件夹中找到它。

看下面的图片。 ClassLibrary2 工作正常。 ClassLibrary3 会抛出您发布的错误。

Normal vs. .NET Core Lib

Project template

Web1项目的 project.json 的差异。

Project.json of Web1

更新

除了使用正确的项目模板之外,您还必须在引用的和引用的lib或应用程序中定位相同(或兼容)的框架。

确保在 project.json (在Web1和ClassLibrary2中)中使用 frameworks 的相同条目。

"frameworks": {
    "net452": { }
}