首页 文章

Nuget Dependencies未添加到项目中

提问于
浏览
0

所以最近我用.Net Standard 2.0替换了我的PCL(创建了一个新解决方案并替换了旧解决方案) .

以前(当项目是PCL时)我从项目中创建了一个nuget包并将其安装到我的Xamarin Forms项目中 . nuget包会自动下载nuspec中列出的依赖项,并将它们添加到相应项目的引用中(即正确的库将转到android项目或iOS项目) .

使用.Net标准共享库,这似乎不再是非常奇特的工作 . Nuget说它成功地将依赖项安装到项目中,但它不会将它们作为引用添加 .

这是nuspec依赖项部分

<dependencies>
                    <group targetFramework="MonoAndroid1.0">
                        <dependency id="Serilog.Sinks.Xamarin" version="0.1.29" />
                        <dependency id="Xamarin.Firebase.JobDispatcher" version="0.7.0-beta1" />
                    </group>
                    <group targetFramework="Xamarin.iOS1.0">
                        <dependency id="Serilog.Sinks.Xamarin" version="0.1.29" />
                    </group>
                    <group targetFramework=".NETStandard2.0">
                        <dependency id="Serilog" version="2.6.0" />
                        <dependency id="Serilog.Sinks.File" version="4.0.0" />
                        <dependency id="Serilog.Sinks.Console" version="3.1.1" />
                        <dependency id="Newtonsoft.Json" version="10.0.3" />
                    </group>
        </dependencies>

我的一部分想知道.Net Standard和Nuget是否存在某些问题,或者我的目标框架遇到了一个奇怪的问题?

1 回答

  • 1

    将NuGet包安装到sdk样式的.NET Standard 2.0项目中时,不会将引用直接添加到项目文件(.csproj)中 . 相反,只会添加一个PackageReference . NuGet包中的程序集仍将在构建时使用,但不会直接添加到项目文件中 .

    NuGet还将仅为安装的软件包添加单个PackageReference . 与使用packages.config文件不同,它不会将所有依赖项添加到项目文件中,但它们将被隐式使用 .

    有关为项目解决了哪些程序集和依赖项的更多信息,请参阅在NuGet还原中生成的obj / project.assets.json文件 .

相关问题