类库中的Azure函数引用

问题描述:

我正在使用带有Azure函数的VS2017(C#)。它工作正常。所以现在我试图设置一个普通函数的类库。我找不到引用Microsoft.NET.Sdk.Functions(1.0.0)当我尝试添加引用(它被安装在vs2017,而不是Nuget),所以我直接从工作azure csproj复制到我的一个类库csproj类库中的Azure函数引用

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

那么现在,当我建立类库,我得到一个“错误MSB4057:目标‘RunResolvePublishAssemblies’不存在于该项目。”

我该如何解决这个问题?

据我所知,如果我们想在类库中使用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'默认包含'编译'项目目录中的项目。

然后它会工作。

的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函数引用。你可以直接创建一个天蓝色的函数项目。

+0

谢谢,我想将TraceWrite日志传递给库,这就是为什么 – Robin

+0

我做了像azure项目一样的设置更改,但它可以编译,但是当我将其添加为主Azure项目的引用时,找不到dll。 – Robin