classlibrary中的Azure函数引用

时间:2017-08-31 06:01:56

标签: azure class-library

我使用VS2017(C#)和Azure功能。它工作正常。所以现在我正在尝试为常用功能设置类库。我无法找到对Microsoft.NET.Sdk.Functions(1.0.0)的引用当我尝试添加引用时(它安装在vs2017中,而不是Nuget)所以我将它直接从工作的azure csproj复制到我的classlibrary csproj

<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.0" />

然后现在当我构建类库时,我得到一个&#34;错误MSB4057:目标&#34; RunResolvePublishAssemblies&#34;在项目中不存在。&#34;

我该如何解决?

1 个答案:

答案 0 :(得分:2)

据我所知,如果我们想在类库中使用azure函数,我们需要将项目SDK设置为“Microsoft.NET.Sdk”。 RunResolvePublishAssemblies包含在Microsoft.NET.Sdk。

像这样:

<Project  Sdk="Microsoft.NET.Sdk">

删除类库的默认编译文件。

<Compile Include="Class1.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />

因为'Microsoft.NET.Sdk'默认包含项目目录中的'Compile'项目。

然后它会运作良好。

csporj是这样的:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" Sdk="Microsoft.NET.Sdk" >
  <PropertyGroup>
    <TargetFramework>net461</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="System"/>

    <Reference Include="System.Core"/>
    <Reference Include="System.Xml.Linq"/>
    <Reference Include="System.Data.DataSetExtensions"/>
    <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.0-alpha3" />

    <Reference Include="Microsoft.CSharp"/>

    <Reference Include="System.Data"/>

    <Reference Include="System.Net.Http"/>

    <Reference Include="System.Xml"/>
  </ItemGroup>
  <ItemGroup>

  </ItemGroup>

 </Project>

这与天蓝色函数csproj相同。所以我不建议你在classlibrary中添加Azure Function引用。您可以直接创建一个azure函数项目。