summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/Documentation.targets8
-rw-r--r--tools/DotNetOpenAuth.Product.props157
-rw-r--r--tools/DotNetOpenAuth.Versioning.targets19
-rw-r--r--tools/DotNetOpenAuth.automated.targets6
-rw-r--r--tools/DotNetOpenAuth.props59
-rw-r--r--tools/DotNetOpenAuth.targets6
-rw-r--r--tools/NuGet/NuGet.exebin267264 -> 625664 bytes
-rw-r--r--tools/drop.proj29
-rw-r--r--tools/sandcastle.targets12
9 files changed, 272 insertions, 24 deletions
diff --git a/tools/Documentation.targets b/tools/Documentation.targets
index faf1f75..74efe3d 100644
--- a/tools/Documentation.targets
+++ b/tools/Documentation.targets
@@ -4,10 +4,16 @@
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<ProjectRoot Condition="'$(ProjectRoot)' == ''">$(MSBuildProjectDirectory)\..\..\</ProjectRoot>
<OutputAssembly>DotNetOpenAuth</OutputAssembly>
+ <OutputAssemblyFile>$(ILMergeOutputAssembly)</OutputAssemblyFile>
<DocOutputPath>$(ProjectRoot)doc\</DocOutputPath>
- <DocumentationFile>$(OutputPath)$(OutputAssembly).xml</DocumentationFile>
+ <DocumentationFile>$(ILMergeOutputXmlDocs)</DocumentationFile>
</PropertyGroup>
+ <ItemGroup>
+ <MRefDependencies Include="$(ProjectRoot)lib\log4net.dll" />
+ <MRefDependencies Include="$(ProjectRoot)lib\net-v3.5\System.Web.Mvc.dll" />
+ </ItemGroup>
+
<Import Project="$(ProjectRoot)Tools\sandcastle.targets" />
</Project>
diff --git a/tools/DotNetOpenAuth.Product.props b/tools/DotNetOpenAuth.Product.props
new file mode 100644
index 0000000..971ed7b
--- /dev/null
+++ b/tools/DotNetOpenAuth.Product.props
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFile)</MSBuildAllProjects>
+ </PropertyGroup>
+ <PropertyGroup>
+ <OutputType>Library</OutputType>
+ <RootNamespace>DotNetOpenAuth</RootNamespace>
+ <FileAlignment>512</FileAlignment>
+ <TargetFrameworkProfile />
+ <DocumentationFile>$(OutputPath)$(AssemblyName).xml</DocumentationFile>
+ <StandardCopyright>
+Copyright (c) 2011, Andrew Arnott. All rights reserved.
+Code licensed under the Ms-PL License:
+http://opensource.org/licenses/ms-pl.html
+ </StandardCopyright>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+
+ <CodeAnalysisRules />
+ <CodeAnalysisRuleSet>Migrated rules for DotNetOpenAuth.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
+ <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
+
+ <CodeContractsCustomRewriterAssembly />
+ <CodeContractsCustomRewriterClass />
+ <CodeContractsRunCodeAnalysis>False</CodeContractsRunCodeAnalysis>
+ <CodeContractsBuildReferenceAssembly>True</CodeContractsBuildReferenceAssembly>
+ <CodeContractsNonNullObligations>True</CodeContractsNonNullObligations>
+ <CodeContractsBoundsObligations>True</CodeContractsBoundsObligations>
+ <CodeContractsLibPaths />
+ <CodeContractsPlatformPath />
+ <CodeContractsExtraAnalysisOptions />
+ <CodeContractsBaseLineFile />
+ <CodeContractsUseBaseLine>False</CodeContractsUseBaseLine>
+ <CodeContractsRunInBackground>True</CodeContractsRunInBackground>
+ <CodeContractsShowSquigglies>True</CodeContractsShowSquigglies>
+ <CodeContractsArithmeticObligations>False</CodeContractsArithmeticObligations>
+ <CodeContractsRuntimeOnlyPublicSurface>False</CodeContractsRuntimeOnlyPublicSurface>
+ <CodeContractsRuntimeThrowOnFailure>True</CodeContractsRuntimeThrowOnFailure>
+ <CodeContractsRuntimeCallSiteRequires>False</CodeContractsRuntimeCallSiteRequires>
+ <CodeContractsEmitXMLDocs>True</CodeContractsEmitXMLDocs>
+ <CodeContractsRedundantAssumptions>False</CodeContractsRedundantAssumptions>
+ <CodeContractsExtraRewriteOptions />
+
+ <CodeContractsReferenceAssembly Condition=" '$(BuildCodeContractsReferenceAssemblies)' == 'true' ">Build</CodeContractsReferenceAssembly>
+ <CodeContractsReferenceAssembly Condition=" '$(BuildCodeContractsReferenceAssemblies)' != 'true' ">DoNotBuild</CodeContractsReferenceAssembly>
+ </PropertyGroup>
+
+ <PropertyGroup Condition=" '$(CodeContractsRewritingEnabled)' != 'true' ">
+ <CodeContractsAssemblyMode>0</CodeContractsAssemblyMode>
+ <CodeContractsEnableRuntimeChecking>False</CodeContractsEnableRuntimeChecking>
+ </PropertyGroup>
+
+ <PropertyGroup Condition=" '$(CodeContractsRewritingEnabled)' == 'true' ">
+ <CodeContractsAssemblyMode>1</CodeContractsAssemblyMode>
+ <CodeContractsEnableRuntimeChecking>True</CodeContractsEnableRuntimeChecking>
+ </PropertyGroup>
+
+ <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
+ <RunCodeAnalysis>false</RunCodeAnalysis>
+
+ <CodeContractsRuntimeCheckingLevel>Full</CodeContractsRuntimeCheckingLevel>
+ </PropertyGroup>
+
+ <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <DefineConstants>TRACE</DefineConstants>
+
+ <CodeContractsRuntimeCheckingLevel>ReleaseRequires</CodeContractsRuntimeCheckingLevel>
+ </PropertyGroup>
+
+ <PropertyGroup Condition=" '$(Configuration)' == 'CodeAnalysis' ">
+ <RunCodeAnalysis>true</RunCodeAnalysis>
+ </PropertyGroup>
+
+ <ItemGroup>
+ <DelaySignedAssemblies Include="$(OutputPath)CodeContracts\$(AssemblyName).Contracts.dll"
+ Condition=" '$(BuildCodeContractsReferenceAssemblies)' == 'true' and '$(AddContractsAssemblyForDelaySigning)' != 'false' "/>
+ </ItemGroup>
+
+ <ItemGroup>
+ <Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
+ <SpecificVersion>False</SpecificVersion>
+ </Reference>
+ <Reference Include="System" />
+ <Reference Include="System.Security" />
+ <Reference Include="System.configuration" />
+ <Reference Include="System.Core">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Data" />
+ <Reference Include="System.Drawing" />
+ <Reference Include="System.IdentityModel">
+ <RequiredTargetFramework>3.0</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.IdentityModel.Selectors">
+ <RequiredTargetFramework>3.0</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Runtime.Serialization">
+ <RequiredTargetFramework>3.0</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.ServiceModel">
+ <RequiredTargetFramework>3.0</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.ServiceModel.Web">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Web" />
+ <Reference Include="System.Web.Abstractions">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Web.Extensions">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Web.Extensions.Design">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Web.Routing">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Windows.Forms" />
+ <Reference Include="System.XML" />
+ <Reference Include="System.Xml.Linq">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.ComponentModel.DataAnnotations">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ </ItemGroup>
+
+ <ItemGroup Condition=" '$(ClrVersion)' == '4' ">
+ <Reference Include="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
+ <Reference Include="System.Xaml" />
+ </ItemGroup>
+ <ItemGroup Condition=" '$(ClrVersion)' != '4' ">
+ <!-- MVC 2 can run on CLR 2 (it doesn't require CLR 4) but since MVC 2 apps tend to use type forwarding,
+ it's a more broadly consumable idea to bind against MVC 1 for the library unless we're building on CLR 4,
+ which will definitely have MVC 2 available. -->
+ <Reference Include="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
+ <Reference Include="System.Web.Mobile" />
+ <Reference Include="PresentationFramework">
+ <!-- For XamlReader, but we use System.Xaml.dll in .NET 4.0 -->
+ <RequiredTargetFramework>3.0</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="WindowsBase">
+ <!-- ObservableCollection<T>, moved to System.dll in .NET 4.0 -->
+ <RequiredTargetFramework>3.0</RequiredTargetFramework>
+ </Reference>
+ </ItemGroup>
+</Project>
diff --git a/tools/DotNetOpenAuth.Versioning.targets b/tools/DotNetOpenAuth.Versioning.targets
index cbcb76d..7ea18b1 100644
--- a/tools/DotNetOpenAuth.Versioning.targets
+++ b/tools/DotNetOpenAuth.Versioning.targets
@@ -6,6 +6,9 @@
<PropertyGroup>
<VersionCsFile>$(IntermediatePath)\$(AssemblyName).Version.cs</VersionCsFile>
<NoWarn>$(NoWarn);1607</NoWarn>
+
+ <!-- PrereleaseVersion can be any alphanumeric identifier with a preceding hyphen, or blank. -->
+ <PrereleaseVersion>-beta</PrereleaseVersion>
</PropertyGroup>
<UsingTask AssemblyFile="$(ProjectRoot)lib\MSBuild.Community.Tasks.dll" TaskName="AssemblyInfo"/>
@@ -16,15 +19,25 @@
GitRepoRoot="$(ProjectRoot)">
<Output TaskParameter="Version" PropertyName="BuildVersion" />
<Output TaskParameter="SimpleVersion" PropertyName="BuildVersionSimple" />
- <Output TaskParameter="GitCommitId" PropertyName="AssemblyInformationalVersion" />
+ <Output TaskParameter="GitCommitId" PropertyName="GitCommitId" />
+ <Output TaskParameter="BuildNumber" PropertyName="BuildNumber" />
</GetBuildVersion>
<PropertyGroup>
<!-- In TeamCity, the build agent doesn't get the .git directory, but the commit id is available by other means. -->
- <AssemblyInformationalVersion Condition=" '$(AssemblyInformationalVersion)' == '' ">$(BUILD_VCS_NUMBER)</AssemblyInformationalVersion>
+ <GitCommitId Condition=" '$(GitCommitId)' == '' ">$(BUILD_VCS_NUMBER)</GitCommitId>
+
+ <SemVerBuildSuffix>+build.$(BuildNumber).$(GitCommitId.Substring(0,10))</SemVerBuildSuffix>
+ <AssemblyInformationalVersion>$(BuildVersionSimple)$(PrereleaseVersion)$(SemVerBuildSuffix)</AssemblyInformationalVersion>
+
+ <!-- When NuGet supports SemVer 2.0, we can set NuGetPackageVersion to be the same as $(AssemblyInformationalVersion) -->
+ <NuGetPackageVersion Condition=" '$(PrereleaseVersion)' == '' ">$(BuildVersion)</NuGetPackageVersion>
+ <NuGetPackageVersion Condition=" '$(PrereleaseVersion)' != '' ">$(BuildVersionSimple)$(PrereleaseVersion)</NuGetPackageVersion>
</PropertyGroup>
<Warning Condition=" '$(AssemblyInformationalVersion)' == '' " Text="Unable to determine the git HEAD commit ID to use for informational version number." />
- <Message Condition=" '$(AssemblyInformationalVersion)' != '' " Text="Building version $(BuildVersion) from commit $(AssemblyInformationalVersion)"/>
+ <Message Condition=" '$(AssemblyInformationalVersion)' != '' " Text="Building version $(BuildVersion) from commit $(GitCommitId)"/>
<Message Condition=" '$(AssemblyInformationalVersion)' == '' " Text="Building version $(BuildVersion)"/>
+ <Message Importance="low" Text="AssemblyInformationalVersion: $(AssemblyInformationalVersion)" />
+ <Message Importance="low" Text="NuGetPackageVersion: $(NuGetPackageVersion)" />
</Target>
<Target Name="BeforeBuild" DependsOnTargets="GetBuildVersion">
diff --git a/tools/DotNetOpenAuth.automated.targets b/tools/DotNetOpenAuth.automated.targets
index 5333b34..d9a5e45 100644
--- a/tools/DotNetOpenAuth.automated.targets
+++ b/tools/DotNetOpenAuth.automated.targets
@@ -15,7 +15,7 @@
<Delete Files="@(FilesToClean)" />
<RemoveDir Directories="@(DirectoriesToClean)" />
- <MSBuild Projects="@(ProjectsToClean)" Targets="%(ProjectsToClean.Targets)" BuildInParallel="$(BuildInParallel)" />
+ <MSBuild Projects="@(ProjectsToClean)" Targets="%(ProjectsToClean.Targets)" BuildInParallel="$(BuildInParallel)" Properties="%(ProjectsToClean.Properties)" />
</Target>
<Target Name="_SetDropProperties" DependsOnTargets="GetBuildVersion">
@@ -34,12 +34,12 @@
<Target Name="BuildProduct" DependsOnTargets="SkipVerification">
<MSBuild BuildInParallel="$(BuildInParallel)"
- Projects="$(ProjectRoot)src\$(ProductName)\$(ProductName).csproj" />
+ Projects="$(ProjectRoot)src\$(ProductName)\$(ProductName).proj" />
</Target>
<Target Name="BuildUnifiedProduct" DependsOnTargets="BuildProduct">
<MSBuild BuildInParallel="$(BuildInParallel)"
- Projects="$(ProjectRoot)src\$(ProductName)\$(ProductName).csproj"
+ Projects="$(ProjectRoot)src\$(ProductName)\$(ProductName).proj"
Targets="BuildUnifiedProduct" />
</Target>
</Project>
diff --git a/tools/DotNetOpenAuth.props b/tools/DotNetOpenAuth.props
index 8364393..1455d68 100644
--- a/tools/DotNetOpenAuth.props
+++ b/tools/DotNetOpenAuth.props
@@ -15,8 +15,9 @@
<Zip7ToolPath>$(ToolsDir)7-Zip.x86\</Zip7ToolPath>
<NuGetToolPath>$(ToolsDir)NuGet\</NuGetToolPath>
<ZipFormat Condition=" '$(ZipFormat)' == '' ">.7z</ZipFormat>
- <ClrVersion Condition=" '$(TargetFrameworkVersion)' == 'v4.0' ">4</ClrVersion>
- <ClrVersion Condition=" '$(TargetFrameworkVersion)' != 'v4.0' ">2</ClrVersion>
+ <ClrVersion Condition=" '$(TargetFrameworkVersion)' == 'v4.0' or '$(TargetFrameworkVersion)' == 'v4.5' ">4</ClrVersion>
+ <ClrVersion Condition=" '$(ClrVersion)' == '' ">2</ClrVersion>
+ <BuildCodeContractsReferenceAssemblies>false</BuildCodeContractsReferenceAssemblies>
<SignAssembly>true</SignAssembly>
<PublicKeyFile Condition="'$(PublicKeyFile)' == ''">$(ProjectRoot)src\official-build-key.pub</PublicKeyFile>
@@ -28,6 +29,9 @@
<ILMergeOutputAssemblyDirectory>$(OutputPath)unified\</ILMergeOutputAssemblyDirectory>
<ILMergeOutputAssembly>$(ILMergeOutputAssemblyDirectory)$(ProductName).dll</ILMergeOutputAssembly>
+ <ILMergeOutputXmlDocs>$(ILMergeOutputAssemblyDirectory)$(ProductName).xml</ILMergeOutputXmlDocs>
+ <ILMergeOutputContractAssemblyDirectory>$(ILMergeOutputAssemblyDirectory)CodeContracts\</ILMergeOutputContractAssemblyDirectory>
+ <ILMergeOutputContractAssembly>$(ILMergeOutputContractAssemblyDirectory)$(ProductName).Contracts.dll</ILMergeOutputContractAssembly>
<!-- Always use our own toolset's copy of Code Contracts for reliably reproducible builds.
Suppress the installed code contracts from importing itself. -->
@@ -35,9 +39,54 @@
<ImportCodeContractsFromToolset>true</ImportCodeContractsFromToolset>
</PropertyGroup>
+ <PropertyGroup Condition=" '$(ClrVersion)' == '4' ">
+ <ILMergeTargetPlatformDirectory>$(MSBuildProgramFiles32)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0</ILMergeTargetPlatformDirectory>
+ </PropertyGroup>
+ <ItemGroup Condition=" '$(ClrVersion)' == '4' ">
+ <ILMergeSearchDirectories Include="$(ILMergeTargetPlatformDirectory)" />
+ </ItemGroup>
+
+ <ItemGroup Condition=" '$(ClrVersion)' != '4' ">
+ <ILMergeSearchDirectories Include="
+ $(MSBuildProgramFiles32)\Reference Assemblies\Microsoft\Framework\v3.0;
+ $(MSBuildProgramFiles32)\Reference Assemblies\Microsoft\Framework\v3.5;
+ " />
+ </ItemGroup>
+
<ItemGroup>
- <SignDependsOn Include="Build" />
- <ILMergeInputAssemblies Include="$(OutputPath)$(ProductName).dll" />
+ <ProductProjectNames Include="
+ DotNetOpenAuth.Core;
+ DotNetOpenAuth.Core.UI;
+ Mono.Math;
+ Org.Mentalis.Security.Cryptography;
+ DotNetOpenAuth.OpenId;
+ DotNetOpenAuth.OpenId.UI;
+ DotNetOpenAuth.OpenId.Provider;
+ DotNetOpenAuth.OpenId.Provider.UI;
+ DotNetOpenAuth.OpenId.RelyingParty;
+ DotNetOpenAuth.OpenId.RelyingParty.UI;
+ DotNetOpenAuth.OAuth;
+ DotNetOpenAuth.OAuth.Consumer;
+ DotNetOpenAuth.OAuth.ServiceProvider;
+ DotNetOpenAuth.InfoCard;
+ DotNetOpenAuth.InfoCard.UI;
+ DotNetOpenAuth.OpenIdInfoCard.UI;
+ " />
+ <ProductProjectNames Include="
+ DotNetOpenAuth.OAuth2;
+ DotNetOpenAuth.OAuth2.AuthorizationServer;
+ DotNetOpenAuth.OAuth2.Client;
+ DotNetOpenAuth.OAuth2.Client.UI;
+ DotNetOpenAuth.OAuth2.ResourceServer;
+ ">
+ <MergeIntoUnifiedAssembly Condition=" '$(IncludeOAuth2)' != 'true' ">false</MergeIntoUnifiedAssembly>
+ </ProductProjectNames>
+ <ProductProjects Include="@(ProductProjectNames->'$(ProjectRoot)src\%(Identity)\%(Identity).csproj')"/>
+
+ <ProjectReferencesToRemove Include="@(ProductProjectNames->'..\..\src\%(Identity)\%(Identity).csproj')" />
+ <AssemblyReferencesToReplaceWith Include="@(ProjectReferencesToRemove->'..\..\Bin\$(ProductName).dll')" />
+
+ <SignDependsOn Include="Build" Condition=" '$(SuppressBuildTarget)' != 'true' " />
<ILMergeInputAssemblies Condition=" '$(ClrVersion)' == '2' "
Include="$(ProjectRoot)lib\Microsoft.Contracts.dll" />
</ItemGroup>
@@ -50,4 +99,4 @@
</CheckAdminRights>
<Message Text="IsElevated = $(IsElevated)" />
</Target>
-</Project> \ No newline at end of file
+</Project>
diff --git a/tools/DotNetOpenAuth.targets b/tools/DotNetOpenAuth.targets
index 06745c7..3765455 100644
--- a/tools/DotNetOpenAuth.targets
+++ b/tools/DotNetOpenAuth.targets
@@ -18,6 +18,7 @@
<CodeContractsInstallDir>$(ProjectRoot)tools\Contracts\</CodeContractsInstallDir>
<DefineConstants Condition=" '$(SignAssembly)' == 'true' ">$(DefineConstants);StrongNameSigned</DefineConstants>
<DefineConstants Condition=" '$(ClrVersion)' == '4' ">$(DefineConstants);CLR4</DefineConstants>
+ <DefineConstants Condition=" '$(ExcludeDiffieHellman)' == 'true' ">$(DefineConstants);ExcludeDiffieHellman</DefineConstants>
<AssemblySearchPaths>$(ProjectRoot)lib;$(AssemblySearchPaths)</AssemblySearchPaths>
<AssemblySearchPaths Condition="Exists('$(ProjectRoot)lib\net-$(TargetFrameworkVersion)')">$(ProjectRoot)lib\net-$(TargetFrameworkVersion);$(AssemblySearchPaths)</AssemblySearchPaths>
</PropertyGroup>
@@ -111,7 +112,8 @@
<Target Name="ResignDelaySignedAssemblies" Outputs="@(ResignedAssembliesOutputs)">
<ItemGroup>
<DelaySignedProjects Include="
- $(ProjectRoot)src\dotnetopenauth\dotnetopenauth.csproj;
+ @(ProductProjects);
+ $(ProjectRoot)src\dotnetopenauth\dotnetopenauth.proj;
$(ProjectRoot)src\dotnetopenauth.test\dotnetopenauth.test.csproj;
$(ProjectRoot)samples\openidofflineprovider\openidofflineprovider.csproj;
" />
@@ -121,5 +123,7 @@
</MSBuild>
</Target>
+ <Target Name="GetOutputPath" Outputs="$(OutputPath)" />
+
<Import Condition="'$(CodeContractsImported)' != 'true' AND ('$(DontImportCodeContracts)' != 'true' or '$(ImportCodeContractsFromToolset)' == 'true')" Project="$(CodeContractsInstallDir)\MsBuild\v4.0\Microsoft.CodeContracts.targets"/>
</Project>
diff --git a/tools/NuGet/NuGet.exe b/tools/NuGet/NuGet.exe
index 907d24d..74d0d57 100644
--- a/tools/NuGet/NuGet.exe
+++ b/tools/NuGet/NuGet.exe
Binary files differ
diff --git a/tools/drop.proj b/tools/drop.proj
index 21baae0..69a636c 100644
--- a/tools/drop.proj
+++ b/tools/drop.proj
@@ -47,10 +47,10 @@
<DropBinSourceFiles Include="
$(ILMergeOutputAssemblyDirectory)$(SignedSubPath)$(ProductName).dll;
$(ILMergeOutputAssemblyDirectory)$(ProductName).pdb;
- $(OutputPath)$(ProductName).xml;
+ $(ILMergeOutputAssemblyDirectory)$(ProductName).xml;
$(OutputPath)CodeContracts\$(SignedSubPath)$(ProductName).Contracts.???;
$(ProjectRoot)Doc\README.Bin.html;
- $(ProjectRoot)src\$(ProductName)\Configuration\$(ProductName).xsd;
+ $(ProjectRoot)src\$(ProductName).Core\Configuration\$(ProductName).xsd;
" />
<DropSatelliteSourceFiles Include="$(OutputPath)**\$(SignedSubPath)$(ProductName).resources.dll" />
<DropSatelliteSourceFiles>
@@ -74,14 +74,12 @@
$(ProjectRoot)**\Debug\**;
$(ProjectRoot)**\StyleCop.Cache;
$(ProjectRoot)Samples\_ReSharper.*\**;
- $(ProjectRoot)Samples\**\DotNetOpenAuth.???;
- $(ProjectRoot)Samples\**\DotNetOpenAuth.resources.???;
- $(ProjectRoot)Samples\**\log4net.???;
- $(ProjectRoot)Samples\**\PresentationCore.dll;
- $(ProjectRoot)Samples\**\System.Printing.dll;
+ $(ProjectRoot)Samples\**\bin\**;
+ $(ProjectRoot)Samples\**\obj\**;
$(ProjectRoot)Samples\**\*.refresh_;
$(ProjectRoot)Samples\*.proj;
" />
+ <DropSamplesSourceFiles Include="$(ProjectRoot)Samples\**\Bin\*.refresh" />
<!-- Some .refresh files are only applicable to drop builds, so we rename them from *.refresh_ -->
<DropSamplesRefreshSourceFiles Include="$(ProjectRoot)Samples\**\*.refresh_" />
<DropSpecsSourceFiles Include="$(ProjectRoot)Doc\specs\*.htm*" />
@@ -137,7 +135,22 @@
RemoveImportsStartingWith="%24(ProjectRoot)tools\"
AddReferences="Microsoft.Contracts"/>
<ChangeProjectReferenceToAssemblyReference Projects="@(SampleProjectTargets)"
- ProjectReferences="..\..\src\$(ProductName)\$(ProductName).csproj" References="..\..\Bin\$(ProductName).dll" />
+ ProjectReferences="@(ProjectReferencesToRemove)" References="@(AssemblyReferencesToReplaceWith)" />
+ <RegexFileReplace
+ Files="@(DropSamplesFiles)"
+ Pattern='&lt;%@ Register Assembly="DotNetOpenAuth[^"]+"'
+ Replacement='&lt;%@ Register Assembly="DotNetOpenAuth"'
+ Condition=" '%(Extension)' == '.aspx' " />
+ <RegexFileReplace
+ Files="@(DropSamplesFiles)"
+ Pattern='xmlns\:(.+)assembly=DotNetOpenAuth([^;"]+)'
+ Replacement='xmlns:$1assembly=DotNetOpenAuth'
+ Condition=" '%(Extension)' == '.xaml' " />
+ <RegexFileReplace
+ Files="@(DropSamplesFiles)"
+ Pattern='type=&quot;DotNetOpenAuth([^,]+), DotNetOpenAuth([^&quot;]+)&quot;'
+ Replacement='type=&quot;DotNetOpenAuth$1, DotNetOpenAuth&quot;'
+ Condition=" '%(Extension)' == '.config' " />
<DowngradeProjects
Projects="@(SampleProjectTargets);@(SampleSolutionTargets)"
DowngradeMvc2ToMvc1="$(DowngradeMvc2ToMvc1)"
diff --git a/tools/sandcastle.targets b/tools/sandcastle.targets
index 65511f8..c7860b7 100644
--- a/tools/sandcastle.targets
+++ b/tools/sandcastle.targets
@@ -11,7 +11,7 @@
<Presentation>$(DxRoot)Presentation\$(PresentationStyle)\</Presentation>
<HHC>$(PROGRAMFILES)\Html Help Workshop\hhc.exe</HHC>
- <OutputAssemblyFile>$(OutputPath)$(OutputAssembly).dll</OutputAssemblyFile>
+ <OutputAssemblyFile Condition=" '$(OutputAssemblyFile)' == '' ">$(OutputPath)$(OutputAssembly).dll</OutputAssemblyFile>
<DocOutputApiPath>$(DocOutputPath)api\</DocOutputApiPath>
<DocIntermediatePath>$(ProjectRoot)obj\Doc\$(Configuration)\</DocIntermediatePath>
@@ -114,9 +114,15 @@
<MakeDir Directories="$(DocOutputApiPath)html;$(DocOutputApiPath)media;$(DocOutputApiPath)intellisense"/>
</Target>
- <Target Name="ReflectionBase" Inputs="$(OutputAssemblyFile)" Outputs="$(ReflectionBaseFile)"
+ <Target Name="ReflectionBase" Inputs="$(OutputAssemblyFile)" Outputs="$(ReflectionBaseFile)"
DependsOnTargets="SetEnvironmentVars;CreateIntermediatePath;ProductionTools">
- <Exec Command='"$(ProductionTools)MRefBuilder.exe" "$(OutputAssemblyFile)" /out:"$(ReflectionBaseFile)"' />
+ <ItemGroup>
+ <MRefDependenciesSwitch Include="@(MRefDependencies->'/dep:&quot;%(Identity)&quot;')" />
+ </ItemGroup>
+ <PropertyGroup>
+ <MRefDependenciesSwitch>@(MRefDependenciesSwitch,' ')</MRefDependenciesSwitch>
+ </PropertyGroup>
+ <Exec Command='"$(ProductionTools)MRefBuilder.exe" "$(OutputAssemblyFile)" /out:"$(ReflectionBaseFile)" $(MRefDependenciesSwitch)' />
</Target>
<Target Name="ReflectionData" DependsOnTargets="FxReflection;ReflectionBase" Inputs="$(ReflectionBaseFile)" Outputs="$(ReflectionFile)">