Reputation: 117
When restoring NuGet packages I see that Xamarin.ios.CameraViewController is restored to my package and with it, all its dependencies. But I never referenced Xamarin.ios.CameriaViewController nor it is a dependency of my referenced packages.
My csproj nuget references:
<ItemGroup>
<PackageReference Include="Acr.UserDialogs">
<Version>7.0.3</Version>
</PackageReference>
<PackageReference Include="CarouselView.FormsPlugin">
<Version>5.2.0</Version>
</PackageReference>
<PackageReference Include="DLToolkit.Forms.Controls.FlowListView">
<Version>2.0.11</Version>
</PackageReference>
<PackageReference Include="GMImagePicker.Xamarin">
<Version>2.3.2</Version>
</PackageReference>
<PackageReference Include="Microsoft.Net.Http">
<Version>2.2.29</Version>
</PackageReference>
<PackageReference Include="Newtonsoft.Json">
<Version>12.0.1</Version>
</PackageReference>
<PackageReference Include="Plugin.FacebookClient">
<Version>1.4.0</Version>
</PackageReference>
<PackageReference Include="Plugin.FileUploader">
<Version>1.4.0</Version>
</PackageReference>
<PackageReference Include="Plugin.GoogleClient">
<Version>1.1.0</Version>
</PackageReference>
<PackageReference Include="Remote.Linq.Newtonsoft.Json">
<Version>5.8.2</Version>
</PackageReference>
<PackageReference Include="Rg.Plugins.Popup">
<Version>1.1.5.188</Version>
</PackageReference>
<PackageReference Include="SQLite.Net.Async-PCL">
<Version>3.1.1</Version>
</PackageReference>
<PackageReference Include="SQLite.Net.Core-PCL">
<Version>3.1.1</Version>
</PackageReference>
<PackageReference Include="Syncfusion.Xamarin.SfAutoComplete">
<Version>16.4.0.54</Version>
</PackageReference>
<PackageReference Include="Xam.Plugin.Connectivity">
<Version>3.2.0</Version>
</PackageReference>
<PackageReference Include="Xam.Plugin.Media">
<Version>4.0.1.5</Version>
</PackageReference>
<PackageReference Include="Xam.Plugins.Forms.ImageCircle">
<Version>3.0.0.5</Version>
</PackageReference>
<PackageReference Include="Xam.Plugins.Messaging">
<Version>5.2.0</Version>
</PackageReference>
<PackageReference Include="Xamarin.Essentials">
<Version>1.0.1</Version>
</PackageReference>
<PackageReference Include="Xamarin.Forms" Version="3.4.0.1029999" />
<PackageReference Include="System.Reflection.Emit">
<Version>4.3.0</Version>
<ExcludeAssets>all</ExcludeAssets>
</PackageReference>
<PackageReference Include="Xamarin.Forms.ImagePicker">
<Version>1.0.0</Version>
</PackageReference>
<PackageReference Include="Xamarin.Google.iOS.SignIn">
<Version>4.4.0</Version>
</PackageReference>
<PackageReference Include="Xamd.Plugins.Forms.ImageCarousel">
<Version>1.0.2</Version>
</PackageReference>
<PackageReference Include="Xfx.Controls">
<Version>1.1.3</Version>
</PackageReference>
</ItemGroup>
So why is it referenced? how can I remove it?
Upvotes: 1
Views: 350
Reputation: 481
You can however, take a look at all your dependencies inclusing transitive ones -
open the obj directory for your project. You'll see projects.assetes.json
You'll see something like
"Microsoft.NETCore.UniversalWindowsPlatform/6.2.8": {
"type": "package",
"dependencies": {
"Microsoft.NETCore.Platforms": "2.1.0",
"Microsoft.Net.Native.Compiler": "2.2.3",
"Microsoft.Net.UWPCoreRuntimeSdk": "2.2.8",
"NETStandard.Library": "2.0.3"
}
In that example, Microsoft.NETCore.UniversalWindowsPlatform
is a package that you installed explicitly and would see in your csproj references but it also brings in a bunch of its own dependecies i.e. Microsoft.NETCore.Platforms
, Microsoft.Net.Native.Compiler
, etc.
Upvotes: 1
Reputation: 89082
It's a dependency of Xamarin.Forms.ImagePicker.iOS
, which is a dependency of Xamarin.Forms.ImagePicker
.
Upvotes: 3