Xamarin.forms 添加到我的项目中的未被引用的NuGet包
在还原NuGet软件包时,我看到Xamarin.ios.CameraViewController被还原到我的软件包及其所有依赖项中。但我从未引用过Xamarin.ios.CameriaViewController,它也不是我引用的包的依赖项 我的csproj nuget参考资料:Xamarin.forms 添加到我的项目中的未被引用的NuGet包,xamarin.forms,nuget-package,nuget-package-restore,Xamarin.forms,Nuget Package,Nuget Package Restore,在还原NuGet软件包时,我看到Xamarin.ios.CameraViewController被还原到我的软件包及其所有依赖项中。但我从未引用过Xamarin.ios.CameriaViewController,它也不是我引用的包的依赖项 我的csproj nuget参考资料: <ItemGroup> <PackageReference Include="Acr.UserDialogs"> <Version>7.0.3</Version> &
<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>
那么为什么要引用它呢?如何删除它?它是Xamarin.Forms.ImagePicker.iOS的依赖项,它是Xamarin.Forms.ImagePicker的依赖项。它是Xamarin.Forms.ImagePicker.iOS的依赖项,它是Xamarin.Forms.ImagePicker的依赖项
在项目文件中维护包引用时,仅
上面列出了顶级依赖项,即您拥有的包
明确添加。
现在,包可以依赖于其他包。这些
包成为您的可传递依赖项-您所做的包
不是显式地添加,而是隐式地依赖它们。
大多数时候,你并不太在乎他们,这就是为什么他们不会出现在你的生活中
已安装软件包的列表,即顶级依赖项。
但是,您可以查看所有依赖项,包括可传递的依赖项-
打开项目的obj目录。您将看到projects.assetes.json
"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"
}
在该示例中,Microsoft.NETCore.UniversalWindowsPlatform是一个您明确安装的包,可以在csproj参考中看到,但它也带来了一系列自己的依赖项,即Microsoft.NETCore.Platform、Microsoft.Net.Native.Compiler等
在项目文件中维护包引用时,仅
上面列出了顶级依赖项,即您拥有的包
明确添加。
现在,包可以依赖于其他包。这些
包成为您的可传递依赖项-您所做的包
不是显式地添加,而是隐式地依赖它们。
大多数时候,你并不太在乎他们,这就是为什么他们不会出现在你的生活中
已安装软件包的列表,即顶级依赖项。
但是,您可以查看所有依赖项,包括可传递的依赖项-
打开项目的obj目录。您将看到projects.assetes.json
"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"
}
在该示例中,Microsoft.NETCore.UniversalWindowsPlatform是一个您明确安装的包,可以在csproj参考中看到,但它也带来了一系列自己的依赖项,即Microsoft.NETCore.Platform、Microsoft.Net.Native.Compiler等。Thanx,事实证明我甚至不需要该包,我不能发布我的应用程序是因为Swift3的依赖关系,而xCode添加了Swift5,有不同的版本。Thanx,事实证明我甚至不需要那个软件包,我不能发布我的应用程序是因为Swift3的依赖关系,而xCode添加了Swift5,有不同的版本。