diff --git a/Vsxmd/Units/Extensions.cs b/Vsxmd/Units/Extensions.cs index 694ea7b..49db2a2 100644 --- a/Vsxmd/Units/Extensions.cs +++ b/Vsxmd/Units/Extensions.cs @@ -50,7 +50,7 @@ internal static string Suffix(this string value, string suffix) => /// The content. /// The escaped content. internal static string Escape(this string content) => - content.Replace("`", @"\`"); + content.Replace("`", @"\`", StringComparison.InvariantCulture); /// /// Generate an anchor for the . @@ -91,7 +91,7 @@ internal static string ToReferenceLink(this string memberName, bool useShortName internal static string AsCode(this string code) { string backticks = "`"; - while (code.Contains(backticks)) + while (code.Contains(backticks, StringComparison.InvariantCulture)) { backticks += "`"; } @@ -151,7 +151,7 @@ private static string ToMarkdownSpan(XNode node) var text = node as XText; if (text != null) { - return text.Value.Escape().TrimStart(' ').Replace(" ", string.Empty); + return text.Value.Escape().TrimStart(' ').Replace(" ", string.Empty, StringComparison.InvariantCulture); } var child = node as XElement; @@ -170,7 +170,7 @@ private static string ToMarkdownSpan(XNode node) case "code": var lang = child.Attribute("lang")?.Value ?? string.Empty; - string value = child.Nodes().First().ToString().Replace("\t", " "); + string value = child.Nodes().First().ToString().Replace("\t", " ", StringComparison.InvariantCulture); var indexOf = FindIndexOf(value); var codeblockLines = value.Split(Environment.NewLine.ToCharArray()) diff --git a/Vsxmd/Units/MemberName.cs b/Vsxmd/Units/MemberName.cs index 70e9949..459d099 100644 --- a/Vsxmd/Units/MemberName.cs +++ b/Vsxmd/Units/MemberName.cs @@ -54,9 +54,9 @@ internal MemberName(string name) ? MemberKind.Constants : this.type == 'P' ? MemberKind.Property - : this.type == 'M' && this.name.Contains(".#ctor") + : this.type == 'M' && this.name.Contains(".#ctor", StringComparison.InvariantCulture) ? MemberKind.Constructor - : this.type == 'M' && !this.name.Contains(".#ctor") + : this.type == 'M' && !this.name.Contains(".#ctor", StringComparison.InvariantCulture) ? MemberKind.Method : MemberKind.NotSupported; diff --git a/Vsxmd/Vsxmd.csproj b/Vsxmd/Vsxmd.csproj index ab8ae53..9a723bf 100644 --- a/Vsxmd/Vsxmd.csproj +++ b/Vsxmd/Vsxmd.csproj @@ -3,8 +3,7 @@ Exe - netcoreapp2.2 - netcoreapp2.2;net46 + netcoreapp3.1 Vsxmd.xml @@ -20,38 +19,39 @@ - true Vsxmd 0.0.0 Junle Li, Sales Lessa Lopes VS XML documentation -> Markdown syntax. - Copyright 2018 + Copyright 2015-Present LICENSE https://github.com/lijunle/Vsxmd Vsxmd VS XML document Markdown - tools true - true - true - true - ExcludeDocumentationFile + false + true + + + <_PackageFiles Include="bin\$(Configuration)\$(TargetFramework)\linux-x64\publish\Vsxmd" PackagePath="tools\linux-x64\" /> + <_PackageFiles Include="bin\$(Configuration)\$(TargetFramework)\osx-x64\publish\Vsxmd" PackagePath="tools\osx-x64\" /> + <_PackageFiles Include="bin\$(Configuration)\$(TargetFramework)\win-x64\publish\Vsxmd.exe" PackagePath="tools\win-x64\" /> + <_PackageFiles Include="bin\$(Configuration)\$(TargetFramework)\win-x86\publish\Vsxmd.exe" PackagePath="tools\win-x86\" /> + - - - - - <_BuildOutputInPackage Remove="$(MSBuildProjectDirectory)\$(DocumentationFile)" /> - <_BuildOutputInPackage Remove="$(MSBuildProjectDirectory)\**\$(DocumentationFile)" /> - - - $(OutputPath)\.. + linux-x64 + osx-x64 + win-x64 + win-x86 + $(OutputPath)/Vsxmd + $(OutputPath)/../Vsxmd + $(OutputPath)/../$(VsxmdRuntime)/Vsxmd diff --git a/Vsxmd/build/Vsxmd.targets b/Vsxmd/build/Vsxmd.targets index 83fbdb4..7079169 100644 --- a/Vsxmd/build/Vsxmd.targets +++ b/Vsxmd/build/Vsxmd.targets @@ -1,13 +1,16 @@ - + - $(MSBuildThisFileDirectory)/../tools - "$(VsxmdBinaryDirectory)/net46/Vsxmd.exe" - mono "$(VsxmdBinaryDirectory)/net46/Vsxmd.exe" - dotnet "$(VsxmdBinaryDirectory)/netcoreapp2.2/Vsxmd.dll" + linux-x64 + osx-x64 + win-x64 + win-x86 + $(MSBuildThisFileDirectory)/../tools/$(VsxmdRuntime) + $(VsxmdBinaryDirectory)/Vsxmd + $(VsxmdBinaryDirectory)/Vsxmd.exe echo "The Vsxmd command is not currently available." - $(VsxmdBinary) "$(DocumentationFile)" "$(DocumentationMarkdown)" "$(VsxmdAutoDeleteXml)" + "$(VsxmdBinary)" "$(DocumentationFile)" "$(DocumentationMarkdown)" "$(VsxmdAutoDeleteXml)" diff --git a/Vsxmd/buildMultiTargeting/Vsxmd.targets b/Vsxmd/buildMultiTargeting/Vsxmd.targets deleted file mode 100644 index 0731c94..0000000 --- a/Vsxmd/buildMultiTargeting/Vsxmd.targets +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/Vsxmd/lib/_._ b/Vsxmd/lib/_._ new file mode 100644 index 0000000..e69de29 diff --git a/appveyor.yml b/appveyor.yml index 74f444a..bed97ca 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,8 +1,7 @@ version: 0.0.{build} image: - - Visual Studio 2017 - - Ubuntu + - Visual Studio 2019 shallow_clone: true @@ -15,9 +14,6 @@ platform: configuration: - Release -matrix: - fast_finish: true - dotnet_csproj: patch: true file: '**\*.csproj' @@ -28,11 +24,21 @@ dotnet_csproj: informational_version: "{version}" before_build: - - ps: msbuild -t:restore - - ps: ./Vsxmd/Test.ps1 -Prepare + - ps: Vsxmd\Test.ps1 -Prepare + +build_script: + - dotnet publish /p:PublishSingleFile=true /p:PublishTrimmed=true --verbosity normal --runtime linux-x64 + - dotnet publish /p:PublishSingleFile=true /p:PublishTrimmed=true --verbosity normal --runtime osx-x64 + - dotnet publish /p:PublishSingleFile=true /p:PublishTrimmed=true --verbosity normal --runtime win-x64 + - dotnet publish /p:PublishSingleFile=true /p:PublishTrimmed=true --verbosity normal --runtime win-x86 test_script: - - ps: ./Vsxmd/Test.ps1 -Run + - ps: Vsxmd\Test.ps1 -Run + +after_test: + - 7z a -r Vsxmd\obj\Vsxmd.zip Vsxmd\bin\Release + - dotnet pack Vsxmd --no-restore --no-build artifacts: + - path: 'Vsxmd\obj\Vsxmd.zip' - path: 'Vsxmd\**\*.nupkg'