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'