<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:42:59 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[CSHARP-2592] Add .NET Standard 2.0 support</title>
                <link>https://jira.mongodb.org/browse/CSHARP-2592</link>
                <project id="10041" key="CSHARP">C# Driver</project>
                    <description>&lt;p&gt;Per Microsoft&apos;s guidance for open source libraries (&lt;a href=&quot;https://docs.microsoft.com/en-us/dotnet/standard/library-guidance/cross-platform-targeting&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://docs.microsoft.com/en-us/dotnet/standard/library-guidance/cross-platform-targeting&lt;/a&gt;), we should consider adding support for .NET Standard 2.0.&lt;/p&gt;

&lt;p&gt;We should be able to accomplish this while still maintaining support for .NET Standard 1.5 until we decide when we want to drop support for .NET Standard 1.5.&lt;/p&gt;

&lt;p&gt;For testing, we could ensure that the our test projects test both libraries by having the test projects target .NET Core 1.0 and 2.x, with the former consuming the .NET Standard 1.5 driver and the latter consuming the .NET Standard 2.x driver&lt;/p&gt;</description>
                <environment></environment>
        <key id="740429">CSHARP-2592</key>
            <summary>Add .NET Standard 2.0 support</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="13201">Fixed</resolution>
                                        <assignee username="dmitry.lukyanov@mongodb.com">Dmitry Lukyanov</assignee>
                                    <reporter username="vincent.kam@mongodb.com">Vincent Kam</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Apr 2019 16:04:48 +0000</created>
                <updated>Sat, 28 Oct 2023 11:48:45 +0000</updated>
                            <resolved>Tue, 28 Jan 2020 22:54:01 +0000</resolved>
                                    <version>2.11.0</version>
                                    <fixVersion>2.11.0</fixVersion>
                                    <component>Build</component>
                                        <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="2769546" author="xgen-internal-githook" created="Tue, 28 Jan 2020 22:53:44 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;dmitry.lukyanov@mongodb.com&apos;, &apos;username&apos;: &apos;DmitryLukyanov&apos;, &apos;name&apos;: &apos;DmitryLukyanov&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-2592&quot; title=&quot;Add .NET Standard 2.0 support&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-2592&quot;&gt;&lt;del&gt;CSHARP-2592&lt;/del&gt;&lt;/a&gt;: Add .NET Standard 2.0 support.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-csharp-driver/commit/9e567e23615c8bb5c7ac1489427c2d15b2124522&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-csharp-driver/commit/9e567e23615c8bb5c7ac1489427c2d15b2124522&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2721021" author="xyh951115@live.com" created="Mon, 13 Jan 2020 05:41:00 +0000"  >&lt;p&gt;You will think it a true statement if you look deep into it.&lt;/p&gt;

&lt;p&gt;.NET Standard actually have various meanings during the discussion. It&apos;s original definition is a set of APIs, which is not likely to be deprecated as you explained, but what we are actually dealing with is a target that the program in built against, which is about the packages versioning and shipping.&lt;/p&gt;

&lt;p&gt;As linked above &lt;a href=&quot;https://docs.microsoft.com/en-us/dotnet/standard/library-guidance/cross-platform-targeting#multi-targeting&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;multi-targeting&lt;/a&gt;, it&apos;s true that .NET Standard 1.x is marked to be avoided.&lt;/p&gt;

&lt;p&gt;&lt;cite&gt;.NET Standard 1.x is distributed as a granular set of NuGet packages, which creates a large package dependency graph and results in developers downloading a lot of packages when building. Modern .NET platforms, including .NET Framework 4.6.1, UWP and Xamarin, all support .NET Standard 2.0. You should only target .NET Standard 1.x if you specifically need to target an older platform.&lt;/cite&gt;&lt;/p&gt;

&lt;p&gt;It is not only a problem about pattern or styling. It causes problems.&lt;br/&gt;
1. Unneeded dependencies. As referenced above, a .NET Standard 1.x package brings a large graph of dependency packages in, which are already included in modern versions of .NET Standard.&lt;br/&gt;
2. Conflict. For those projects that works with complex reflection or assembly loading without specifically handling this, the duplicate packages brought by a .NET Standard 1.x package may cause runtime exceptions due to assembly and type conflict.&lt;/p&gt;</comment>
                            <comment id="2720997" author="rstam" created="Mon, 13 Jan 2020 03:45:20 +0000"  >&lt;p&gt;I don&apos;t think that is a true statement.&lt;/p&gt;

&lt;p&gt;Since .NET Standard versions are just different sets of APIs, I don&apos;t think any version of .NET Standard is ever deprecated.&lt;/p&gt;

&lt;p&gt;Only the frameworks that implement .NET Standard versions get deprecated.&lt;/p&gt;

&lt;p&gt;You can use the .NET Driver with any current version of either .NET Core or .NET Framework.&lt;/p&gt;

&lt;p&gt;We definitely intend to target .NET Standard 2.0 at some point, but I don&apos;t think it is as urgent as you say.&lt;/p&gt;</comment>
                            <comment id="2720963" author="xyh951115@live.com" created="Mon, 13 Jan 2020 02:28:49 +0000"  >&lt;p&gt;This should be considered prior to everything else.&lt;/p&gt;

&lt;p&gt;Targeting a deprecated framework also makes the whole driver deprecated.&lt;/p&gt;

&lt;p&gt;In other words,&lt;/p&gt;

&lt;p&gt;MONGODB HAS CURRENTLY NO QUALIFIED SUPPORT FOR .NET&lt;/p&gt;</comment>
                            <comment id="2369157" author="jimmy.bogard@gmail.com" created="Tue, 13 Aug 2019 19:07:26 +0000"  >&lt;p&gt;I opened a PR for `netstandard2.0` support:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/mongodb/mongo-csharp-driver/pull/377&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-csharp-driver/pull/377&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2368799" author="jimmy.bogard@gmail.com" created="Tue, 13 Aug 2019 15:44:42 +0000"  >&lt;p&gt;Do you need any help on this one? I&apos;ve converted all my OSS projects to add `netstandard2.0` support, it hasn&apos;t been too bad doing so. I&apos;d be happy to open a PR for it.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;Selfishly it would allow us to target `netstandard2.0` instead of `netcoreapp2.2` in some of our shared libraries that reference this package.&lt;/p&gt;</comment>
                            <comment id="2229844" author="rstam" created="Tue, 30 Apr 2019 20:16:09 +0000"  >&lt;p&gt;Even if we use nothing new from .NET Standard 2.0 there are benefits to targetting netstandard2.0 as well as netstandard1.5.&lt;/p&gt;

&lt;p&gt;See &quot;&lt;b&gt;DO&lt;/b&gt;&#160;include a&#160;&lt;tt&gt;netstandard2.0&lt;/tt&gt;&#160;target if you require a&#160;&lt;tt&gt;netstandard1.x&lt;/tt&gt;&#160;target.&quot; here&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://docs.microsoft.com/en-us/dotnet/standard/library-guidance/cross-platform-targeting#multi-targeting&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://docs.microsoft.com/en-us/dotnet/standard/library-guidance/cross-platform-targeting#multi-targeting&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On the other hand, that article also says:&#160;&quot;You should only target .NET Standard 1.x if you specifically need to target an older platform.&quot;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                                                <inwardlinks description="backports">
                                        <issuelink>
            <issuekey id="941057">CSHARP-2758</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10720">
                    <name>Cloners</name>
                                                                <inwardlinks description="is cloned by">
                                        <issuelink>
            <issuekey id="1149735">MONGOCRYPT-253</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="741702">CSHARP-2595</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="609062">CSHARP-2394</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="908655">CSHARP-2714</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="973171">CSHARP-2797</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hvye13:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>