AspNetWebStack/tools/WebStack.settings.targets

65 строки
3.3 KiB
Plaintext
Исходник Обычный вид История

2012-03-11 21:17:56 +04:00
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import
Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props"
Condition="'$(MicrosoftCommonPropsHasBeenImported)' != 'true' AND Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')"/>
<Import Project="$(CustomBeforeWebStackTargets)" Condition="Exists('$(CustomBeforeWebStackTargets)')" Label="Pre-targets Build Extensibility Point"/>
<PropertyGroup>
<!-- Define some basic reference paths -->
<WebStackRootPath>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)..\'))</WebStackRootPath>
<WebStackToolsPath>$(MSBuildThisFileDirectory)</WebStackToolsPath>
<!-- Use CustomAfterMicrosoftCommonTargets property (defined in Microsoft.Common.targets) to
2012-03-11 21:17:56 +04:00
inject post-Common targets files without requiring the inclusion -->
<CustomAfterMicrosoftCommonTargets>$(WebStackToolsPath)WebStack.targets</CustomAfterMicrosoftCommonTargets>
<!-- Force rebuild if this file changes -->
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>
<!-- Project Defaults -->
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<OutputPath Condition="'$(OutputPath)' == ''">$(WebStackRootPath)bin\$(Configuration)\</OutputPath>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<FileAlignment>512</FileAlignment>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<!-- Variables for output redirection (localization, signing, etc)-->
<Language Condition=" '$(Language)' == '' ">ENU</Language>
<LocalizedPath Condition=" '$(LocalizedPath)' == '' "></LocalizedPath>
<!-- StyleCop support -->
<StyleCopTreatErrorsAsWarnings Condition=" '$(StyleCopTreatErrorsAsWarnings)' == '' ">false</StyleCopTreatErrorsAsWarnings>
<StyleCopEnabled Condition=" '$(StyleCopEnabled)' == '' ">false</StyleCopEnabled>
Move NetCore project to use .NET SDK (#380) Move NetCore project to use .NET SDK - Formatting.NetCore now targets `netstandard1.3` - was `Profile259` aka `portable-net45+wp80+win8+wpa81`, approximately `netstandard1.0` - but Newtonsoft.Json.Bson supports `netstandard1.3` and up - use Newtonsoft.Json.Bson in NetCore projects - can now multi-target NetCore.Test as well - nits: - align src/ Formatting projects as much as possible - align test/ Formatting projects as much as possible - clean up the Microsoft.TestCommon project slightly - note: NetCore project names make no sense but I'm leaving them alone for this PR React to using Newtonsoft.Json.Bson everywhere - remove deprecated `BsonWriter` mentions entirely - remove legacy BSON writer test workaround Remove unnecessary `ConcurrentDictionary` class - was not available in `Profile259` - leave tests to confirm correct operation w/ "real" class Remove `UriQueryUtility` because `WebUtility` is available everywhere - leave test to confirm `WebUtility` continues to behave about the same - handle `WebUtility` being a `public` class - change other tests to handle `WebUtility.UrlEncode(...)` encoding to uppercase - unlike `UriQueryUtility.UrlEncode(...)` Add simple classes to NetCore project - use `ICloneable` copy to get more classes compiling - helps NetCore in similar way to existing `MediaTypeHeaderValueExtensions` - use `InvalidEnumArgumentException` copy to simplify code and testing - both not available in `netstandard1.3` (or available packages) but easily duplicated Remove unnecessary NetCore-specific GlobalSuppressions.cs file Use `NameValueCollection` everywhere - available (but not serializable) in `netstandard1.3` Add `MaxDepth` support in NetCore assembly - remove an unnecessary suppression about `MaxDepth` in `BaseJsonMediaTypeFormatter` Add `UseDataContractJsonSerializer` support in NetCore assembly - `XsdDataContractExporter` remains unavailable - update XML DCS tests to handle this (previously not in NetCore assembly) - try various workarounds - `ReadOnlyStreamWithEncodingPreamble` causes tests to hit dotnet/runtime#80160 - restriction to UTF8 when writing is a significant issue Copy `TranscodingStream` and related files from dotnet/runtime - my runtime clone was at 88868b7a781f4e5b9037b8721f30440207a7aa42 Adjust `TranscodingStream` and related code to compile and run here - add conditions to avoid references to version-specific API - remove references to internal dotnet/runtime code - rewrite some code more generically if performance impact likely minor - use Microsoft.TestCommon instead of directly relying on Xunit in tests - use C# 9.0 Use `TranscodingStream` in JSON and XML formatters - remove `ReadOnlyStreamWithEncodingPreamble` and its tests - was insufficient in general and doesn't work correctly in `netstandard1.3` - see dotnet/runtime#80160 - now support a much broader set of encodings in JSON and XML formatters - not just UTF8, UTF16BE, and UTF16LE - JSON formatter already supported every encoding when `UseDataContractJsonSerializer` was `false` - no longer have this downside when property is `true` - however, quotas remain unsupported in `netstandard1.3` version of this formatter when property is `true` - XML formatter requirement for an XML declaration in non-UTF8 content was general and is no longer an issue Add `MediaTypeMappings` support in NetCore assembly Add `IRequiredMemberSelector` support in NetCore assembly Remove unnecessary NETFX_CORE workarounds - use `DefaultContractResolver`, `GuidAttribute`, `TypeDescriptor`, `XmlElement`, `XmlNode` classes - use `IRequiredMemberSelector` interface - use `RequestMessage.CreateResponse()` extension method - all available in `netstandard1.3` - `JsonContractResolver` use is something of a late Newtonsoft.Json version reaction - was held back by missing `IRequiredMemberSelector` Work around missing features in `netstandard1.3` - get classes now included in NetCore assembly compiling - `SerializationAttribute` is not available - therefore `Exception` is not serializable - therefore `DefaultContractResolver.IgnoreSerializableAttribute` is not available - `Stream.(Begin|End)(Read|Write)` and `Stream.Close()` are not available - nit: clean up `MultipartFormDataStreamProvider` whitespace
2023-01-29 00:39:45 +03:00
<!-- Use latest C# compiler supported in Visual Studio 2019. -->
<LangVersion Condition=" '$(MSBuildProjectExtension)' == '.csproj' ">9.0</LangVersion>
2012-03-11 21:17:56 +04:00
<!-- Everything is delay signed by default -->
<SignAssembly>true</SignAssembly>
<DelaySign>true</DelaySign>
<AssemblyOriginatorKeyFile>$(WebStackRootPath)\tools\35MSSharedLib1024.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<!-- Per-configuration properties -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<DefineConstants>TRACE;DEBUG;CODE_ANALYSIS</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<DefineConstants>TRACE</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'CodeAnalysis|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<DefineConstants>TRACE;CODE_ANALYSIS</DefineConstants>
</PropertyGroup>
2012-03-11 21:17:56 +04:00
</Project>