首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >元素<PackageReference>中的属性"Include“无法识别

元素<PackageReference>中的属性"Include“无法识别
EN

Stack Overflow用户
提问于 2022-01-25 18:58:33
回答 3查看 739关注 0票数 1

我通过右键单击解决方案资源管理器上的解决方案创建了一个Directory.Build.props文件,并将其命名为XML。然后输入这个XML并尝试构建,但是遇到了错误:

代码语言:javascript
复制
<Project>
    <PropertyGroup>
        <Version>1.2.3</Version>
        <Authors>John Doe</Authors>
        <PackageReference Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="6.0.0">
            <PrivateAssets>all</PrivateAssets>
            <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
        </PackageReference>
    </PropertyGroup>
</Project>

错误是:The attribute "Include" in element <PackageReference> is unrecognized.

代码语言:javascript
复制
Project "C:\redacted\Directory.Build.props" was not imported by "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Microsoft.Common.props" at (33,3), due to the file being invalid. ProjectName C:\Users\me\source\redacted\ProjectName\Directory.Build.props   33  

我在这里很困惑。其他文章说要定位MSBuild,我知道它在我的机器上。在我添加XML之前,构建工作得很好。任何指导都将不胜感激!顺便说一下,我目前正在使用Visual 2022。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-01-25 19:02:03

PackageReference元素需要在ItemGroup中--您已经在PropertyGroup中得到了它。它应该是这样的:

代码语言:javascript
复制
<Project>
    <PropertyGroup>
        <Version>1.2.3</Version>
        <Authors>John Doe</Authors>
    </PropertyGroup>

    <ItemGroup>
        <PackageReference Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="6.0.0">
            <PrivateAssets>all</PrivateAssets>
            <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
        </PackageReference>
    </ItemGroup>
</Project>
票数 3
EN

Stack Overflow用户

发布于 2022-01-25 19:09:12

有一次我遇到了同样的问题,我发现它是由‘\xef\xbb\xbf#’引起的,它是‘Unicode(Byte)’,由某些文本编辑器(例如Notepad++ )添加的不可见字符组成。BOM通常是一个神奇的数字,用于将信息传递给读取文件的程序,例如Unicode字符编码或endianess,但它的存在可能会干扰不期望它的软件。我通过侥幸找到它的方式是,我在github上有我的csproj文件,当我点击“编辑”时,BOM就像一个红色的点一样突出。我只是背了一下,然后一切都很顺利。

票数 0
EN

Stack Overflow用户

发布于 2022-07-21 08:37:43

我遇到了同样的问题,对我来说,这是由于无效的XML结构造成的:

代码语言:javascript
复制
<ItemGroup>
    <PackageReference Include="Microsoft.VisualStudio.Threading.Analyzers" Version="17.2.32">
    <PackageReference Include="Microsoft.CodeAnalysis.BannedApiAnalyzers" Version="3.3.3">
    </PackageReference>
</ItemGroup>

如您所见,第一个PackageReference标记没有关闭,导致第二个PackageReference标记上的错误The attribute "Include" in element <PackageReference> is unrecognized.完全相同。

有效的XML结构:

代码语言:javascript
复制
<ItemGroup>
    <PackageReference Include="Microsoft.VisualStudio.Threading.Analyzers" Version="17.2.32"/>
    <PackageReference Include="Microsoft.CodeAnalysis.BannedApiAnalyzers" Version="3.3.3"/>
</ItemGroup>

我希望这能帮到别人!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70854208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档