fsprojects / Paket.VisualStudio

Manage your Paket (http://fsprojects.github.io/Paket/) dependencies from Visual Studio!
MIT License
147 stars 51 forks source link

Paket VS extension breaks .NET core project files when Analyzers are added by libraries (AWSSDK.DynamoDBv2) #139

Open MiloszKrajewski opened 7 years ago

MiloszKrajewski commented 7 years ago

Description

Paket VS extensions creates ItemGroup with Analyzer which .NET core does NOT understand.

<ItemGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Analyzer Include="..\packages\AWSSDK.DynamoDBv2\analyzers\dotnet\cs\AWSSDK.DynamoDBv2.CodeAnalysis.dll">
        <Paket>True</Paket>
    </Analyzer>
</ItemGroup>

The errors message is The attribute "xmlns" in element <ItemGroup> is unrecognized and project cannot be loaded anymore (nor built).

Command line version does NOT do that.

Repro steps

mkdir solution && cd solution
curl -L -o paket.cmd http://bit.ly/2ooaInt
paket init
echo framework netcoreapp11 >> paket.dependencies
echo nuget AWSSDK.DynamoDBv2 >> paket.dependencies

dotnet new sln

mkdir project && cd project && dotnet new console
echo AWSSDK.DynamoDBv2 > paket.references
cd ..

dotnet sln solution.sln add project\project.csproj

paket install && dotnet restore && dotnet build .

So far so good. All works from command-line. Now:

Project fails to load and no longer builds:

dotnet restore

ends with:

C:\dev\solution\project\project.csproj(7,14): error MSB4066: The attribute "xmlns" in element <ItemGroup> is unrecognized.

Expected behavior

Should work.

Actual behavior

It doesn't :-)

Known workarounds

Use command-line paket only.

Related information