未验证 提交 59bb74c9 编写于 作者: K Kenneth Pouncey 提交者: GitHub

[wasm][net] System.Net.Mail should not throw PNSE for full assembly. (#42974)

* [wasm][net] System.Net.Mail should not throw PNSE for full assembly.

* Address review comment.  Remove comment line

* Address review comments.  Remove redundant defs

* Activate tests on CI

- SmtpClient relevant tests are not supported

* Add `[UnsupportedOSPlatform("browser")]` to SmtpClient

* Add back System.Net.Mail Unit tests

* Remove redundant $(TargetsBrowser) from ItemGroup

* Add `[UnsupportedOSPlatform("browser")]` to SmtpClient methods and properties

- It does not hurt to have this.

* Remove unnecessary Unsupported attribute at the method level

* Remove unnecessary Unsupported attribute at the method level

* Modify message on skipped test.

* Address review comments and remove string resource

* Remove redundant AssemblyInfo per review comment

* Remove condition attribute

* Attribute is needed

* Fix build issues
上级 34eed9ce
......@@ -3,6 +3,5 @@
<PropertyGroup>
<StrongNameKeyId>Open</StrongNameKeyId>
<IncludePlatformAttributes>true</IncludePlatformAttributes>
<UnsupportedOSPlatforms>browser</UnsupportedOSPlatforms>
</PropertyGroup>
</Project>
\ No newline at end of file
</Project>
......@@ -165,6 +165,7 @@ public enum MailPriority
High = 2,
}
public delegate void SendCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
[System.Runtime.Versioning.UnsupportedOSPlatformAttribute("browser")]
public partial class SmtpClient : System.IDisposable
{
public SmtpClient() { }
......
......@@ -334,7 +334,4 @@
<data name="SmtpGetIisPickupDirectoryNotSupported" xml:space="preserve">
<value>IIS delivery is not supported.</value>
</data>
<data name="SystemNetMail_PlatformNotSupported" xml:space="preserve">
<value>System.Net.Mail is not supported on this platform.</value>
</data>
</root>
......@@ -5,10 +5,7 @@
<Nullable>enable</Nullable>
</PropertyGroup>
<!-- DesignTimeBuild requires all the TargetFramework Derived Properties to not be present in the first property group. -->
<PropertyGroup>
<GeneratePlatformNotSupportedAssemblyMessage Condition="'$(TargetsBrowser)' == 'true'">SR.SystemNetMail_PlatformNotSupported</GeneratePlatformNotSupportedAssemblyMessage>
</PropertyGroup>
<ItemGroup Condition="'$(TargetsBrowser)' != 'true'">
<ItemGroup>
<Compile Include="System\Net\Base64Stream.cs" />
<Compile Include="System\Net\Mime\MimePart.cs" />
<Compile Include="System\Net\Mime\Base64WriteStateInfo.cs" />
......@@ -43,42 +40,22 @@
<Compile Include="System\Net\Mail\Attachment.cs" />
<Compile Include="System\Net\Mail\AttachmentCollection.cs" />
<Compile Include="System\Net\BufferedReadStream.cs" />
<Compile Include="System\Net\Mail\ISmtpAuthenticationModule.cs" />
<Compile Include="System\Net\Mail\LinkedResource.cs" />
<Compile Include="System\Net\Mail\LinkedResourceCollection.cs" />
<Compile Include="System\Net\Mail\MailAddress.cs" />
<Compile Include="System\Net\Mail\MailAddressCollection.cs" />
<Compile Include="System\Net\Mail\NetEventSource.Mail.cs" />
<Compile Include="System\Net\Mail\MailMessage.cs" />
<Compile Include="System\Net\Mail\MailPriority.cs" />
<Compile Include="System\Net\Mail\MailWriter.cs" />
<Compile Include="System\Net\Mime\MimeMultiPart.cs" />
<Compile Include="System\Net\Mime\MimeMultiPartType.cs" />
<Compile Include="System\Net\Mime\MimeWriter.cs" />
<Compile Include="System\Net\Mail\SmtpAuthenticationManager.cs" />
<Compile Include="System\Net\Mail\SmtpClient.cs" />
<Compile Include="System\Net\Mail\SmtpCommands.cs" />
<Compile Include="System\Net\Mail\SmtpConnection.cs" />
<Compile Include="System\Net\Mail\SmtpConnection.Auth.cs" />
<Compile Include="System\Net\Mail\SmtpException.cs" />
<Compile Include="System\Net\Mail\SmtpFailedRecipientException.cs" />
<Compile Include="System\Net\Mail\SmtpFailedRecipientsException.cs" />
<Compile Include="System\Net\Mail\SmtpReplyReader.cs" />
<Compile Include="System\Net\Mail\SmtpReplyReaderFactory.cs" />
<Compile Include="System\Net\Mail\SmtpStatusCode.cs" />
<Compile Include="System\Net\Mail\SmtpTransport.cs" />
<Compile Include="System\Net\Mail\SmtpLoginAuthenticationModule.cs" />
<Compile Include="System\Net\Mail\SmtpNegotiateAuthenticationModule.cs" />
<Compile Include="System\Net\Mail\SmtpNtlmAuthenticationModule.cs" />
<Compile Include="System\Net\DelegatedStream.cs" />
<Compile Include="$(CommonPath)System\Net\TlsStream.cs"
Link="Common\System\Net\TlsStream.cs" />
<Compile Include="$(CommonPath)System\Net\InternalException.cs"
Link="Common\System\Net\InternalException.cs" />
<Compile Include="$(CommonPath)System\Net\LazyAsyncResult.cs"
Link="Common\System\Net\LazyAsyncResult.cs" />
<Compile Include="$(CommonPath)System\Net\ContextAwareResult.cs"
Link="Common\System\Net\ContextAwareResult.cs" />
<Compile Include="$(CommonPath)System\Net\Mail\MailBnfHelper.cs"
Link="Common\System\Net\Mail\MailBnfHelper.cs" />
<Compile Include="$(CommonPath)System\Net\Logging\NetEventSource.Common.cs"
......@@ -95,16 +72,48 @@
Link="Common\System\Net\Mail\QuotedPairReader.cs" />
<Compile Include="$(CommonPath)System\Net\Mail\DomainLiteralReader.cs"
Link="Common\System\Net\Mail\DomainLiteralReader.cs" />
<Compile Include="$(CommonPath)System\Net\SecurityProtocol.cs"
Link="Common\System\Net\SecurityProtocol.cs" />
<Compile Include="$(CommonPath)System\StringExtensions.cs"
Link="Common\System\StringExtensions.cs" />
<Compile Include="$(CommonPath)System\HexConverter.cs"
Link="Common\System\HexConverter.cs" />
</ItemGroup>
<ItemGroup Condition="'$(TargetsBrowser)' == 'true'">
<Compile Include="System\Net\Mail\SmtpClient.Browser.cs" />
</ItemGroup>
<!-- Non Browser specific files - internal and security -->
<ItemGroup Condition="'$(TargetsBrowser)' != 'true'">
<Compile Include="System\Net\Mail\SmtpClient.cs" />
<Compile Include="System\Net\Mail\ISmtpAuthenticationModule.cs" />
<Compile Include="System\Net\Mail\SmtpAuthenticationManager.cs" />
<Compile Include="System\Net\Mail\SmtpCommands.cs" />
<Compile Include="System\Net\Mail\SmtpConnection.cs" />
<Compile Include="System\Net\Mail\SmtpConnection.Auth.cs" />
<Compile Include="System\Net\Mail\SmtpReplyReader.cs" />
<Compile Include="System\Net\Mail\SmtpReplyReaderFactory.cs" />
<Compile Include="System\Net\Mail\SmtpTransport.cs" />
<Compile Include="System\Net\Mail\SmtpLoginAuthenticationModule.cs" />
<Compile Include="System\Net\Mail\SmtpNegotiateAuthenticationModule.cs" />
<Compile Include="System\Net\Mail\SmtpNtlmAuthenticationModule.cs" />
<Compile Include="System\Net\Mail\MailWriter.cs" />
<Compile Include="System\Net\Mail\NetEventSource.Mail.cs" />
<Compile Include="$(CommonPath)System\Net\ContextAwareResult.cs"
Link="Common\System\Net\ContextAwareResult.cs" />
<Compile Include="$(CommonPath)System\Net\NTAuthentication.Common.cs"
Link="Common\System\Net\NTAuthentication.Common.cs" />
<Compile Include="$(CommonPath)System\Net\Security\SSPIHandleCache.cs"
Link="Common\System\Net\Security\SSPIHandleCache.cs" />
<Compile Include="$(CommonPath)System\Net\DebugCriticalHandleMinusOneIsInvalid.cs"
Link="Common\System\Net\DebugCriticalHandleMinusOneIsInvalid.cs" />
<Compile Include="$(CommonPath)System\Net\DebugCriticalHandleZeroOrMinusOneIsInvalid.cs"
Link="Common\System\Net\DebugCriticalHandleZeroOrMinusOneIsInvalid.cs" />
<Compile Include="$(CommonPath)System\Net\DebugSafeHandle.cs"
Link="Common\System\Net\DebugSafeHandle.cs" />
<Compile Include="$(CommonPath)System\Net\TlsStream.cs"
Link="Common\System\Net\TlsStream.cs" />
<Compile Include="$(CommonPath)System\Net\InternalException.cs"
Link="Common\System\Net\InternalException.cs" />
<Compile Include="$(CommonPath)System\Net\ExceptionCheck.cs"
Link="Common\System\Net\ExceptionCheck.cs" />
<Compile Include="$(CommonPath)System\Collections\Generic\BidirectionalDictionary.cs"
......@@ -115,19 +124,16 @@
Link="Common\System\Net\ContextFlagsPal.cs" />
<Compile Include="$(CommonPath)System\Net\NegotiationInfoClass.cs"
Link="Common\System\Net\NegotiationInfoClass.cs" />
<Compile Include="$(CommonPath)System\Net\NTAuthentication.Common.cs"
Link="Common\System\Net\NTAuthentication.Common.cs" />
<Compile Include="$(CommonPath)System\Net\SecurityStatusPal.cs"
Link="Common\System\Net\SecurityStatusPal.cs" />
<Compile Include="$(CommonPath)System\Net\Security\SSPIHandleCache.cs"
Link="Common\System\Net\Security\SSPIHandleCache.cs" />
<Compile Include="$(CommonPath)System\Net\Security\NetEventSource.Security.cs"
Link="Common\System\Net\Security\NetEventSource.Security.cs" />
<Compile Include="$(CommonPath)System\HexConverter.cs"
Link="Common\System\HexConverter.cs" />
<Compile Include="$(CommonPath)System\Net\SecurityProtocol.cs"
Link="Common\System\Net\SecurityProtocol.cs" />
<Compile Include="$(CommonPath)Interop\Windows\Interop.UNICODE_STRING.cs"
Link="Common\Interop\Windows\Interop.UNICODE_STRING.cs" />
</ItemGroup>
<!-- Unix specific files -->
<ItemGroup Condition="'$(TargetsUnix)' == 'true'">
<Compile Include="$(CommonPath)System\Net\ContextAwareResult.Unix.cs"
......
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
using System;
using System.ComponentModel;
using System.Runtime.Versioning;
using System.Security.Cryptography.X509Certificates;
using System.Threading;
using System.Threading.Tasks;
namespace System.Net.Mail
{
public delegate void SendCompletedEventHandler(object sender, AsyncCompletedEventArgs e);
public enum SmtpDeliveryMethod
{
Network,
SpecifiedPickupDirectory,
PickupDirectoryFromIis
}
// EAI Settings
public enum SmtpDeliveryFormat
{
SevenBit = 0, // Legacy
International = 1, // SMTPUTF8 - Email Address Internationalization (EAI)
}
[UnsupportedOSPlatform("browser")]
public class SmtpClient : IDisposable
{
#pragma warning disable CS0067 // Field is not used
public event SendCompletedEventHandler? SendCompleted;
#pragma warning restore CS0067
public SmtpClient()
{
Initialize();
}
public SmtpClient(string? host)
{
Initialize();
}
public SmtpClient(string? host, int port)
{
Initialize();
}
private void Initialize()
{
throw new PlatformNotSupportedException();
}
public string? Host
{
get => throw new PlatformNotSupportedException();
set => throw new PlatformNotSupportedException();
}
public int Port
{
get => throw new PlatformNotSupportedException();
set => throw new PlatformNotSupportedException();
}
public bool UseDefaultCredentials
{
get => throw new PlatformNotSupportedException();
set => throw new PlatformNotSupportedException();
}
public ICredentialsByHost? Credentials
{
get => throw new PlatformNotSupportedException();
set => throw new PlatformNotSupportedException();
}
public int Timeout
{
get => throw new PlatformNotSupportedException();
set => throw new PlatformNotSupportedException();
}
public ServicePoint ServicePoint
{
get => throw new PlatformNotSupportedException();
}
public SmtpDeliveryMethod DeliveryMethod
{
get => throw new PlatformNotSupportedException();
set => throw new PlatformNotSupportedException();
}
public SmtpDeliveryFormat DeliveryFormat
{
get => throw new PlatformNotSupportedException();
set => throw new PlatformNotSupportedException();
}
public string? PickupDirectoryLocation
{
get => throw new PlatformNotSupportedException();
set => throw new PlatformNotSupportedException();
}
/// <summary>
/// <para>Set to true if we need SSL</para>
/// </summary>
public bool EnableSsl
{
get => throw new PlatformNotSupportedException();
set => throw new PlatformNotSupportedException();
}
/// <summary>
/// Certificates used by the client for establishing an SSL connection with the server.
/// </summary>
public X509CertificateCollection ClientCertificates => throw new PlatformNotSupportedException();
public string? TargetName
{
get => throw new PlatformNotSupportedException();
set => throw new PlatformNotSupportedException();
}
private bool ServerSupportsEai => throw new PlatformNotSupportedException();
public void Send(string from, string recipients, string? subject, string? body) => throw new PlatformNotSupportedException();
public void Send(MailMessage message) => throw new PlatformNotSupportedException();
public void SendAsync(string from, string recipients, string? subject, string? body, object? userToken) => throw new PlatformNotSupportedException();
public void SendAsync(MailMessage message, object? userToken) => throw new PlatformNotSupportedException();
public void SendAsyncCancel() => throw new PlatformNotSupportedException();
//************* Task-based async public methods *************************
public Task SendMailAsync(string from, string recipients, string? subject, string? body) => throw new PlatformNotSupportedException();
public Task SendMailAsync(MailMessage message) => throw new PlatformNotSupportedException();
public Task SendMailAsync(string from, string recipients, string? subject, string? body, CancellationToken cancellationToken) => throw new PlatformNotSupportedException();
public Task SendMailAsync(MailMessage message, CancellationToken cancellationToken) => throw new PlatformNotSupportedException();
protected void OnSendCompleted(AsyncCompletedEventArgs e) => throw new PlatformNotSupportedException();
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing)
{ }
}
}
......@@ -6,6 +6,7 @@
using System.Globalization;
using System.IO;
using System.Net.NetworkInformation;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Authentication;
using System.Security.Cryptography.X509Certificates;
......@@ -31,6 +32,7 @@ public enum SmtpDeliveryFormat
International = 1, // SMTPUTF8 - Email Address Internationalization (EAI)
}
[UnsupportedOSPlatform("browser")]
public class SmtpClient : IDisposable
{
private string? _host;
......
......@@ -12,7 +12,10 @@ namespace System.Net.Mail
public class SmtpFailedRecipientException : SmtpException, ISerializable
{
private readonly string? _failedRecipient;
#pragma warning disable CS0649 // Browser - never assigned to
internal bool fatal;
#pragma warning restore CS0649
public SmtpFailedRecipientException() : base() { }
......
......@@ -4,4 +4,3 @@
using Xunit;
[assembly: ActiveIssue("https://github.com/dotnet/runtime/issues/34690", TestPlatforms.Windows, TargetFrameworkMonikers.Netcoreapp, TestRuntimes.Mono)]
[assembly: SkipOnMono("System.Net.Mail is not supported on wasm", TestPlatforms.Browser)]
......@@ -9,6 +9,7 @@
namespace System.Net.Mail.Tests
{
[PlatformSpecific(~TestPlatforms.Browser)] // SmtpClient is not supported on Browser
public class LoggingTest
{
[Fact]
......
......@@ -146,6 +146,7 @@ public void SubjectAndEncodingTest()
}
[Fact]
[PlatformSpecific(~TestPlatforms.Browser)] // Not passing as internal System.Net.Mail.MailWriter stripped from build
public void SentSpecialLengthMailAttachment_Base64Decode_Success()
{
// The special length follows pattern: (3N - 1) * 0x4400 + 1
......
......@@ -11,10 +11,11 @@
namespace System.Net.Mail.Functional.Tests
{
[PlatformSpecific(~TestPlatforms.Browser)] // SmtpClient is not supported on Browser
public class SmtpClientCredentialsTest
{
private readonly string UserName = "user";
private readonly string Password = Guid.NewGuid().ToString();
private readonly string Password = Guid.NewGuid().ToString();
[Fact]
public void Credentials_Unset_Null()
......
......@@ -19,6 +19,7 @@
namespace System.Net.Mail.Tests
{
[PlatformSpecific(~TestPlatforms.Browser)] // SmtpClient is not supported on Browser
public class SmtpClientTest : FileCleanupTestBase
{
private SmtpClient _smtp;
......
......@@ -2,8 +2,6 @@
<PropertyGroup>
<IncludeRemoteExecutor>true</IncludeRemoteExecutor>
<TargetFrameworks>$(NetCoreAppCurrent)</TargetFrameworks>
<!-- Doesn't run tests on Browser since it is not supported. -->
<IgnoreForCI Condition="'$(TargetOS)' == 'Browser'">true</IgnoreForCI>
</PropertyGroup>
<ItemGroup>
<Compile Include="AlternateViewCollectionTest.cs" />
......@@ -31,4 +29,4 @@
<Compile Include="$(CommonTestPath)System\Threading\Tasks\TaskTimeoutExtensions.cs"
Link="Common\System\Threading\Tasks\TaskTimeoutExtensions.cs" />
</ItemGroup>
</Project>
\ No newline at end of file
</Project>
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
using Xunit;
[assembly: SkipOnMono("System.Net.Mail is not supported on wasm", TestPlatforms.Browser)]
......@@ -5,6 +5,7 @@
namespace System.Net.Mail.Tests
{
[PlatformSpecific(~TestPlatforms.Browser)] // SmtpClient is not supported on Browser
public class EhloParseExtensionsTest
{
private SmtpConnection _smtpConnection;
......
......@@ -2,11 +2,10 @@
<PropertyGroup>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<StringResourcesPath>../../src/Resources/Strings.resx</StringResourcesPath>
<TargetFrameworks>$(NetCoreAppCurrent)-Windows_NT;$(NetCoreAppCurrent)-Unix</TargetFrameworks>
<TargetFrameworks>$(NetCoreAppCurrent)-Windows_NT;$(NetCoreAppCurrent)-Unix;$(NetCoreAppCurrent)-Browser</TargetFrameworks>
<Nullable>annotations</Nullable>
</PropertyGroup>
<ItemGroup>
<Compile Include="AssemblyInfo.cs" />
<Compile Include="Base64EncodingTest.cs" />
<Compile Include="ByteEncodingTest.cs" />
<Compile Include="EightBitStreamTest.cs" />
......@@ -19,7 +18,7 @@
<Compile Include="MessageTests\MessageHeaderBehaviorTest.cs" />
<Compile Include="MessageTests\ReplyToListTest.cs" />
<Compile Include="QuotedPrintableStreamTest.cs" />
<Compile Include="SmtpConnectionTests\EhloParseExtensionsTest.cs" />
<Compile Include="SmtpConnectionTests\EhloParseExtensionsTest.cs" Condition="'$(TargetsBrowser)' != 'true'" />
<Compile Include="SmtpDateTimeTest.cs" />
<Compile Include="WriteStateInfoTest.cs" />
</ItemGroup>
......@@ -36,16 +35,8 @@
Link="ProductionCode\MailAddress.cs" />
<Compile Include="..\..\src\System\Net\Mail\NetEventSource.Mail.cs"
Link="ProductionCode\NetEventSource.Mail.cs" />
<Compile Include="..\..\src\System\Net\Mail\SmtpConnection.Auth.cs"
Link="ProductionCode\SmtpConnection.Auth.cs" />
<Compile Include="..\..\src\System\Net\Mail\ISmtpAuthenticationModule.cs"
Link="ProductionCode\ISmtpAuthenticationModule.cs" />
<Compile Include="..\..\src\System\Net\Mail\SmtpLoginAuthenticationModule.cs"
Link="ProductionCode\SmtpLoginAuthenticationModule.cs" />
<Compile Include="..\..\src\System\Net\Mail\SmtpNegotiateAuthenticationModule.cs"
Link="ProductionCode\SmtpNegotiateAuthenticationModule.cs" />
<Compile Include="..\..\src\System\Net\Mail\SmtpNtlmAuthenticationModule.cs"
Link="ProductionCode\SmtpNtlmAuthenticationModule.cs" />
<Compile Include="..\..\src\System\Net\Mail\MailAddressCollection.cs"
Link="ProductionCode\MailAddressCollection.cs" />
<Compile Include="..\..\src\System\Net\Mail\MailPriority.cs"
......@@ -106,15 +97,12 @@
Link="ProductionCode\MailHeaderInfo.cs" />
<Compile Include="..\..\src\System\Net\BufferBuilder.cs"
Link="ProductionCode\BufferBuilder.cs" />
<Compile Include="$(CommonPath)System\Net\TlsStream.cs"
Link="Common\System\Net\TlsStream.cs" />
<Compile Include="$(CommonPath)System\Net\InternalException.cs"
Link="Common\System\Net\InternalException.cs" />
<Compile Include="$(CommonPath)System\Net\LazyAsyncResult.cs"
Link="Common\System\Net\LazyAsyncResult.cs" />
<Compile Include="$(CommonPath)System\Net\ContextAwareResult.cs"
Link="Common\System\Net\ContextAwareResult.cs" />
<Compile Include="$(CommonPath)System\Net\Mail\MailBnfHelper.cs"
Link="Common\System\Net\Mail\MailBnfHelper.cs" />
<Compile Include="$(CommonPath)System\Net\Logging\NetEventSource.Common.cs"
......@@ -151,12 +139,8 @@
Link="Common\System\Net\ContextFlagsPal.cs" />
<Compile Include="$(CommonPath)System\Net\NegotiationInfoClass.cs"
Link="Common\System\Net\NegotiationInfoClass.cs" />
<Compile Include="$(CommonPath)System\Net\NTAuthentication.Common.cs"
Link="Common\System\Net\NTAuthentication.Common.cs" />
<Compile Include="$(CommonPath)System\Net\SecurityStatusPal.cs"
Link="Common\System\Net\SecurityStatusPal.cs" />
<Compile Include="$(CommonPath)System\Net\Security\SSPIHandleCache.cs"
Link="Common\System\Net\Security\SSPIHandleCache.cs" />
<Compile Include="$(CommonPath)System\Net\Security\NetEventSource.Security.cs"
Link="Common\System\Net\Security\NetEventSource.Security.cs" />
<Compile Include="$(CommonPath)System\HexConverter.cs"
......@@ -272,6 +256,25 @@
<Compile Include="$(CommonPath)Interop\Windows\Interop.UNICODE_STRING.cs"
Link="Common\Interop\Windows\Interop.UNICODE_STRING.cs" />
</ItemGroup>
<!-- Non Browser specific files - internal and security -->
<ItemGroup Condition="'$(TargetsBrowser)' != 'true'">
<Compile Include="..\..\src\System\Net\Mail\SmtpLoginAuthenticationModule.cs"
Link="ProductionCode\SmtpLoginAuthenticationModule.cs" />
<Compile Include="..\..\src\System\Net\Mail\SmtpNegotiateAuthenticationModule.cs"
Link="ProductionCode\SmtpNegotiateAuthenticationModule.cs" />
<Compile Include="..\..\src\System\Net\Mail\SmtpNtlmAuthenticationModule.cs"
Link="ProductionCode\SmtpNtlmAuthenticationModule.cs" />
<Compile Include="$(CommonPath)System\Net\NTAuthentication.Common.cs"
Link="Common\System\Net\NTAuthentication.Common.cs" />
<Compile Include="$(CommonPath)System\Net\Security\SSPIHandleCache.cs"
Link="Common\System\Net\Security\SSPIHandleCache.cs" />
<Compile Include="$(CommonPath)System\Net\ContextAwareResult.cs"
Link="Common\System\Net\ContextAwareResult.cs" />
<Compile Include="..\..\src\System\Net\Mail\SmtpConnection.Auth.cs"
Link="ProductionCode\SmtpConnection.Auth.cs" />
</ItemGroup>
<ItemGroup>
<!-- Do not reference these assemblies from the TargetingPack since we are building part of the source code for tests. -->
<DefaultReferenceExclusion Include="System.Net.Mail" />
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册