diff --git a/appveyor.yml b/appveyor.yml
index 91340e8a..c22c2085 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,22 +1,186 @@
-version: 1.0.{build}
-image: Visual Studio 2017
-environment:
- matrix:
- - platform: x86
- configuration: Debug
- - platform: x86
- configuration: Release
-matrix:
- fast_finish: false
-nuget:
- project_feed: true
-before_build:
-- cmd: nuget restore
-build:
- parallel: true
- verbosity: normal
-artifacts:
-- path: shadowsocks-csharp\bin\x86\Release\Shadowsocks.exe
- name: Shadowsocks-release.exe
-- path: shadowsocks-csharp\bin\x86\Debug\Shadowsocks.exe
- name: Shadowsocks-debug.exe
+
+# Notes:
+# - Minimal appveyor.yml file is an empty file. All sections are optional.
+# - Indent each level of configuration with 2 spaces. Do not use tabs!
+# - All section names are case-sensitive.
+# - Section names should be unique on each level.
+
+#---------------------------------#
+# general configuration #
+#---------------------------------#
+
+# version format
+# Build version format is taken from UI if it is not set
+# version: 1.0.{build}
+
+# # branches to build
+# branches:
+# # whitelist
+# only:
+# - master
+# - production
+
+# # blacklist
+# except:
+# - gh-pages
+
+
+#---------------------------------#
+# environment configuration #
+#---------------------------------#
+
+# Build worker image (VM template)
+image: Visual Studio 2017
+
+# scripts that are called at very beginning, before repo cloning
+# init:
+# - git config --global core.autocrlf false
+
+
+# set clone depth
+clone_depth: 5 # clone entire repository history if not defined
+
+
+# environment variables
+environment:
+ # my_var1: value1
+ # # this is how to set encrypted variable. Go to "Settings" -> "Encrypt YAML" page in account menu to encrypt data.
+ # my_secure_var1:
+ # secure: FW3tJ3fMncxvs58/ifSP7w==
+ matrix:
+ - platform: x86
+ configuration: Debug
+ - platform: x86
+ configuration: Release
+
+# this is how to allow failing jobs in the matrix
+matrix:
+ fast_finish: false # set this flag to immediately finish build once one of the jobs fails.
+
+# build cache to preserve files/folders between builds
+cache:
+ - packages -> **\packages.config # preserve "packages" directory in the root of build folder but will reset it if packages.config is modified
+ # - '%LocalAppData%\NuGet\Cache' # NuGet < v3
+ - '%LocalAppData%\NuGet\v3-cache' # NuGet v3
+
+
+# Automatically register private account and/or project AppVeyor NuGet feeds.
+# nuget:
+ # account_feed: true
+ # project_feed: true
+ # disable_publish_on_pr: true # disable publishing of .nupkg artifacts to account/project feeds for pull request builds
+ # publish_wap_octopus: true # disable publishing of Octopus Deploy .nupkg artifacts to account/project feeds
+
+#---------------------------------#
+# build configuration #
+#---------------------------------#
+
+# Build settings, not to be confused with "before_build" and "after_build".
+# "project" is relative to the original build directory and not influenced by directory changes in "before_build".
+build:
+ # parallel: true # enable MSBuild parallel builds
+ # publish_nuget: true # package projects with .nuspec files and push to artifacts
+ # publish_nuget_symbols: true # generate and publish NuGet symbol packages
+ # include_nuget_references: true # add -IncludeReferencedProjects option while packaging NuGet artifacts
+
+ # MSBuild verbosity level
+ verbosity: normal # quiet|minimal|normal|detailed
+
+
+# scripts to run before build
+before_build:
+ - cmd: nuget restore
+
+# to run your custom scripts instead of automatic MSBuild
+# build_script:
+
+# scripts to run after build (working directory and environment changes are persisted from the previous steps)
+after_build:
+ ps: |
+ function CalculateHash($file)
+ {
+ $newLine = "`r`n"
+ $text = (Split-Path $file -Leaf) + $newLine
+ $text += 'MD5' + $newLine
+ $text += (Get-FileHash $file -Algorithm MD5).Hash + $newLine
+ $text += 'SHA-1' + $newLine
+ $text += (Get-FileHash $file -Algorithm SHA1).Hash + $newLine
+ $text += 'SHA-256' + $newLine
+ $text += (Get-FileHash $file -Algorithm SHA256).Hash + $newLine
+ $text += 'SHA-512' + $newLine
+ $text += (Get-FileHash $file -Algorithm SHA512).Hash
+ return $text
+ }
+
+
+ $WorkingFolder = "$env:APPVEYOR_BUILD_FOLDER\working"
+ $ExeFileName = "Shadowsocks-$env:APPVEYOR_BUILD_VERSION-$env:CONFIGURATION.exe"
+ $ExeFile = "$WorkingFolder\$ExeFileName"
+ $ExeHashFile = "$Exefile.hash"
+
+ New-Item $WorkingFolder -ItemType Directory -Force
+ Copy-Item $env:APPVEYOR_BUILD_FOLDER\shadowsocks-csharp\bin\$env:PLATFORM\$env:CONFIGURATION\Shadowsocks.exe $WorkingFolder\Shadowsocks.exe
+ Copy-Item $WorkingFolder\Shadowsocks.exe $ExeFile
+
+ CalculateHash -file $Exefile | Out-File -FilePath $ExeHashFile
+
+ Push-AppveyorArtifact $ExeFile
+ Push-AppveyorArtifact $ExeHashFile
+
+ # Create and deploy the release zip
+ if ($env:configuration -eq 'Release')
+ {
+ $ReleaseFile = "$WorkingFolder\Shadowsocks.exe"
+ $HashFile = "$ReleaseFile.hash"
+ $ZipFile = "$WorkingFolder\Shadowsocks-$env:APPVEYOR_BUILD_VERSION.zip"
+ $ZipHashFile = "$ZipFile.hash"
+ # Calculate exe Hash and archieve both exe and hash to zip
+ CalculateHash -file $ReleaseFile | Out-File -FilePath $hashFile
+ 7z a $ZipFile $ReleaseFile
+ 7z a $ZipFile $HashFile
+ Push-AppveyorArtifact $ZipFile
+ # Calculate zip Hash
+ CalculateHash -file $ZipFile | Out-File -FilePath $ZipHashFile
+ Push-AppveyorArtifact $ZipHashFile
+ }
+
+# scripts to run *after* solution is built and *before* automatic packaging occurs (web apps, NuGet packages, Azure Cloud Services)
+# before_package:
+
+# to disable automatic builds
+#build: off
+
+
+#---------------------------------#
+# deployment configuration #
+#---------------------------------#
+
+# providers: Local, FTP, WebDeploy, AzureCS, AzureBlob, S3, NuGet, Environment
+# provider names are case-sensitive!
+deploy:
+
+ # Deploy to GitHub Releases
+ - provider: GitHub
+ auth_token:
+ secure: ZrRlVe3eWp1ccIVZcmFrI7vaCxwz5ewIMSmaPUTjMGyC1rVRlYm7nWWi6Pzkpe0A
+ description: '%APPVEYOR_BUILD_VERSION%'
+ artifact: Shadowsocks-%APPVEYOR_BUILD_VERSION%.zip, Shadowsocks-%APPVEYOR_BUILD_VERSION%.zip.hash
+ draft: true
+ prerelease: true
+ on:
+ branch: master # release from master branch only
+ configuration: Release
+ APPVEYOR_REPO_TAG: true # deploy on tag push only
+
+
+# # scripts to run before deployment
+# before_deploy:
+
+# # scripts to run after deployment
+# after_deploy:
+
+# # to run your custom scripts instead of provider deployments
+# deploy_script:
+
+# # to disable deployment
+#deploy: off
\ No newline at end of file
diff --git a/appveyor.yml.obsolete b/appveyor.yml.obsolete
new file mode 100644
index 00000000..d23aa997
--- /dev/null
+++ b/appveyor.yml.obsolete
@@ -0,0 +1,24 @@
+# Created by wongsyrone
+
+version: 1.0.{build}
+image: Visual Studio 2017
+environment:
+ matrix:
+ - platform: x86
+ configuration: Debug
+ - platform: x86
+ configuration: Release
+matrix:
+ fast_finish: false
+nuget:
+ project_feed: true
+before_build:
+- cmd: nuget restore
+build:
+ parallel: true
+ verbosity: normal
+artifacts:
+- path: shadowsocks-csharp\bin\x86\Release\Shadowsocks.exe
+ name: Shadowsocks-release.exe
+- path: shadowsocks-csharp\bin\x86\Debug\Shadowsocks.exe
+ name: Shadowsocks-debug.exe
diff --git a/appveyor.yml.sample b/appveyor.yml.sample
new file mode 100644
index 00000000..e3bd655a
--- /dev/null
+++ b/appveyor.yml.sample
@@ -0,0 +1,483 @@
+
+# Notes:
+# - Minimal appveyor.yml file is an empty file. All sections are optional.
+# - Indent each level of configuration with 2 spaces. Do not use tabs!
+# - All section names are case-sensitive.
+# - Section names should be unique on each level.
+
+#---------------------------------#
+# general configuration #
+#---------------------------------#
+
+# version format
+version: 1.0.{build}
+
+# you can use {branch} name in version format too
+# version: 1.0.{build}-{branch}
+
+# branches to build
+branches:
+ # whitelist
+ only:
+ - master
+ - production
+
+ # blacklist
+ except:
+ - gh-pages
+
+# Do not build on tags (GitHub and BitBucket)
+skip_tags: true
+
+# Start builds on tags only (GitHub and BitBucket)
+skip_non_tags: true
+
+# Skipping commits with particular message or from specific user
+skip_commits:
+ message: /Created.*\.(png|jpg|jpeg|bmp|gif)/ # Regex for matching commit message
+ author: John # Commit author's username, name, email or regexp maching one of these.
+
+# Including commits with particular message or from specific user
+only_commits:
+ message: /build/ # Start a new build if message contains 'build'
+ author: jack@company.com # Start a new build for commit of user with email jack@company.com
+
+# Skipping commits affecting specific files (GitHub only). More details here: /docs/appveyor-yml
+#skip_commits:
+# files:
+# - docs/*
+# - '**/*.html'
+
+# Including commits affecting specific files (GitHub only). More details here: /docs/appveyor-yml
+#only_commits:
+# files:
+# - Project-A/
+# - Project-B/
+
+# Do not build feature branch with open Pull Requests
+skip_branch_with_pr: true
+
+# Maximum number of concurrent jobs for the project
+max_jobs: 1
+
+#---------------------------------#
+# environment configuration #
+#---------------------------------#
+
+# Build worker image (VM template)
+image: Visual Studio 2015
+
+# scripts that are called at very beginning, before repo cloning
+init:
+ - git config --global core.autocrlf input
+
+# clone directory
+clone_folder: c:\projects\myproject
+
+# fetch repository as zip archive
+shallow_clone: true # default is "false"
+
+# set clone depth
+clone_depth: 5 # clone entire repository history if not defined
+
+# setting up etc\hosts file
+hosts:
+ queue-server: 127.0.0.1
+ db.server.com: 127.0.0.2
+
+# environment variables
+environment:
+ my_var1: value1
+ my_var2: value2
+ # this is how to set encrypted variable. Go to "Settings" -> "Encrypt YAML" page in account menu to encrypt data.
+ my_secure_var1:
+ secure: FW3tJ3fMncxvs58/ifSP7w==
+
+# environment:
+# global:
+# connection_string: server=12;password=13;
+# service_url: https://127.0.0.1:8090
+#
+# matrix:
+# - db: mysql
+# provider: mysql
+#
+# - db: mssql
+# provider: mssql
+# password:
+# secure: $#(JFDA)jQ@#$
+
+# this is how to allow failing jobs in the matrix
+matrix:
+ fast_finish: true # set this flag to immediately finish build once one of the jobs fails.
+ allow_failures:
+ - platform: x86
+ configuration: Debug
+ - platform: x64
+ configuration: Release
+
+# exclude configuration from the matrix. Works similarly to 'allow_failures' but build not even being started for excluded combination.
+ exclude:
+ - platform: x86
+ configuration: Debug
+
+# build cache to preserve files/folders between builds
+cache:
+ - packages -> **\packages.config # preserve "packages" directory in the root of build folder but will reset it if packages.config is modified
+ - projectA\libs
+ - node_modules # local npm modules
+ - '%LocalAppData%\NuGet\Cache' # NuGet < v3
+ - '%LocalAppData%\NuGet\v3-cache' # NuGet v3
+
+# enable service required for build/tests
+services:
+ - mssql2014 # start SQL Server 2014 Express
+ - mssql2014rs # start SQL Server 2014 Express and Reporting Services
+ - mssql2012sp1 # start SQL Server 2012 SP1 Express
+ - mssql2012sp1rs # start SQL Server 2012 SP1 Express and Reporting Services
+ - mssql2008r2sp2 # start SQL Server 2008 R2 SP2 Express
+ - mssql2008r2sp2rs # start SQL Server 2008 R2 SP2 Express and Reporting Services
+ - mysql # start MySQL 5.6 service
+ - postgresql # start PostgreSQL 9.5 service
+ - iis # start IIS
+ - msmq # start Queuing services
+ - mongodb # start MongoDB
+
+# scripts that run after cloning repository
+install:
+ # by default, all script lines are interpreted as batch
+ - echo This is batch
+ # to run script as a PowerShell command prepend it with ps:
+ - ps: Write-Host 'This is PowerShell'
+ # batch commands start from cmd:
+ - cmd: echo This is batch again
+ - cmd: set MY_VAR=12345
+
+# enable patching of AssemblyInfo.* files
+assembly_info:
+ patch: true
+ file: AssemblyInfo.*
+ assembly_version: "2.2.{build}"
+ assembly_file_version: "{version}"
+ assembly_informational_version: "{version}"
+
+
+# Automatically register private account and/or project AppVeyor NuGet feeds.
+nuget:
+ account_feed: true
+ project_feed: true
+ disable_publish_on_pr: true # disable publishing of .nupkg artifacts to account/project feeds for pull request builds
+ publish_wap_octopus: true # disable publishing of Octopus Deploy .nupkg artifacts to account/project feeds
+
+#---------------------------------#
+# build configuration #
+#---------------------------------#
+
+# build platform, i.e. x86, x64, Any CPU. This setting is optional.
+platform: Any CPU
+
+# to add several platforms to build matrix:
+#platform:
+# - x86
+# - Any CPU
+
+# build Configuration, i.e. Debug, Release, etc.
+configuration: Release
+
+# to add several configurations to build matrix:
+#configuration:
+# - Debug
+# - Release
+
+# Build settings, not to be confused with "before_build" and "after_build".
+# "project" is relative to the original build directory and not influenced by directory changes in "before_build".
+build:
+ parallel: true # enable MSBuild parallel builds
+ project: MyTestAzureCS.sln # path to Visual Studio solution or project
+ publish_wap: true # package Web Application Projects (WAP) for Web Deploy
+ publish_wap_xcopy: true # package Web Application Projects (WAP) for XCopy deployment
+ publish_wap_beanstalk: true # Package Web Applications for AWS Elastic Beanstalk deployment
+ publish_wap_octopus: true # Package Web Applications for Octopus deployment
+ publish_azure_webjob: true # Package Azure WebJobs for Zip Push deployment
+ publish_azure: true # package Azure Cloud Service projects and push to artifacts
+ publish_aspnet_core: true # Package ASP.NET Core projects
+ publish_core_console: true # Package .NET Core console projects
+ publish_nuget: true # package projects with .nuspec files and push to artifacts
+ publish_nuget_symbols: true # generate and publish NuGet symbol packages
+ include_nuget_references: true # add -IncludeReferencedProjects option while packaging NuGet artifacts
+
+ # MSBuild verbosity level
+ verbosity: quiet|minimal|normal|detailed
+
+
+# scripts to run before build
+before_build:
+
+# to run your custom scripts instead of automatic MSBuild
+build_script:
+
+# scripts to run after build (working directory and environment changes are persisted from the previous steps)
+after_build:
+
+# scripts to run *after* solution is built and *before* automatic packaging occurs (web apps, NuGet packages, Azure Cloud Services)
+before_package:
+
+# to disable automatic builds
+#build: off
+
+#---------------------------------#
+# tests configuration #
+#---------------------------------#
+
+# to run tests against only selected assemblies and/or categories
+test:
+ assemblies:
+ only:
+ - asm1.dll
+ - asm2.dll
+
+ categories:
+ only:
+ - UI
+ - E2E
+
+# to run tests against all except selected assemblies and/or categories
+#test:
+# assemblies:
+# except:
+# - asm1.dll
+# - asm2.dll
+#
+# categories:
+# except:
+# - UI
+# - E2E
+
+# to run tests from different categories as separate jobs in parallel
+#test:
+# categories:
+# - A # A category common for all jobs
+# - [UI] # 1st job
+# - [DAL, BL] # 2nd job
+
+# scripts to run before tests (working directory and environment changes are persisted from the previous steps such as "before_build")
+before_test:
+ - echo script1
+ - ps: Write-Host "script1"
+
+# to run your custom scripts instead of automatic tests
+test_script:
+ - echo This is my custom test script
+
+# scripts to run after tests
+after_test:
+
+# to disable automatic tests
+#test: off
+
+
+#---------------------------------#
+# artifacts configuration #
+#---------------------------------#
+
+artifacts:
+
+ # pushing a single file
+ - path: test.zip
+
+ # pushing a single file with environment variable in path and "Deployment name" specified
+ - path: MyProject\bin\$(configuration)
+ name: myapp
+
+ # pushing entire folder as a zip archive
+ - path: logs
+
+ # pushing all *.nupkg files in build directory recursively
+ - path: '**\*.nupkg'
+
+
+#---------------------------------#
+# deployment configuration #
+#---------------------------------#
+
+# providers: Local, FTP, WebDeploy, AzureCS, AzureBlob, S3, NuGet, Environment
+# provider names are case-sensitive!
+deploy:
+
+ # FTP deployment provider settings
+ - provider: FTP
+ protocol: ftp|ftps|sftp
+ host: ftp.myserver.com
+ username: admin
+ password:
+ secure: eYKZKFkkEvFYWX6NfjZIVw==
+ folder:
+ application:
+ active_mode: false
+ beta: true # enable alternative FTP library for 'ftp' and 'ftps' modes
+ debug: true # show complete FTP log
+
+ # Amazon S3 deployment provider settings
+ - provider: S3
+ access_key_id:
+ secure: ABcd==
+ secret_access_key:
+ secure: ABcd==
+ bucket: my_bucket
+ folder:
+ artifact:
+ set_public: false
+
+ # Azure Blob storage deployment provider settings
+ - provider: AzureBlob
+ storage_account_name:
+ secure: ABcd==
+ storage_access_key:
+ secure: ABcd==
+ container: my_container
+ folder:
+ artifact:
+
+ # Web Deploy deployment provider settings
+ - provider: WebDeploy
+ server: http://www.deploy.com/myendpoint
+ website: mywebsite
+ username: user
+ password:
+ secure: eYKZKFkkEvFYWX6NfjZIVw==
+ ntlm: false
+ remove_files: false
+ app_offline: false
+ do_not_use_checksum: true # do not use check sum for comparing source and destination files. By default checksums are used.
+ sync_retry_attempts: 2 # sync attempts, max
+ sync_retry_interval: 2000 # timeout between sync attempts, milliseconds
+ aspnet_core: true # artifact zip contains ASP.NET Core application
+ aspnet_core_force_restart: true # poke app's web.config before deploy to force application restart
+ skip_dirs: \\App_Data
+ skip_files: web.config
+ on:
+ branch: release
+ platform: x86
+ configuration: debug
+
+ # Deploying to Azure Cloud Service
+ - provider: AzureCS
+ subscription_id:
+ secure: fjZIVw==
+ subscription_certificate:
+ secure: eYKZKFkkEv...FYWX6NfjZIVw==
+ storage_account_name: my_storage
+ storage_access_key:
+ secure: ABcd==
+ service: my_service
+ slot: Production
+ target_profile: Cloud
+ artifact: MyPackage.cspkg
+
+ # Deploying to NuGet feed
+ - provider: NuGet
+ server: https://my.nuget.server/feed
+ api_key:
+ secure: FYWX6NfjZIVw==
+ skip_symbols: false
+ symbol_server: https://your.symbol.server/feed
+ artifact: MyPackage.nupkg
+
+ # Deploy to GitHub Releases
+ - provider: GitHub
+ artifact: /.*\.nupkg/ # upload all NuGet packages to release assets
+ draft: false
+ prerelease: false
+ on:
+ branch: master # release from master branch only
+ APPVEYOR_REPO_TAG: true # deploy on tag push only
+
+ # Deploying to a named environment
+ - provider: Environment
+ name: staging
+ on:
+ branch: staging
+ env_var1: value1
+ env_var2: value2
+
+# scripts to run before deployment
+before_deploy:
+
+# scripts to run after deployment
+after_deploy:
+
+# to run your custom scripts instead of provider deployments
+deploy_script:
+
+# to disable deployment
+#deploy: off
+
+#---------------------------------#
+# global handlers #
+#---------------------------------#
+
+# on successful build
+on_success:
+ - do something
+
+# on build failure
+on_failure:
+ - do something
+
+# after build failure or success
+on_finish:
+ - do something
+
+
+#---------------------------------#
+# notifications #
+#---------------------------------#
+
+notifications:
+
+ # Email
+ - provider: Email
+ to:
+ - user1@email.com
+ - user2@email.com
+ subject: 'Build {{status}}' # optional
+ message: "{{message}}, {{commitId}}, ..." # optional
+ on_build_status_changed: true
+
+ # HipChat
+ - provider: HipChat
+ auth_token:
+ secure: RbOnSMSFKYzxzFRrxM1+XA==
+ room: ProjectA
+ template: "{message}, {commitId}, ..."
+
+ # Slack
+ - provider: Slack
+ incoming_webhook: http://incoming-webhook-url
+
+ # ...or using auth token
+
+ - provider: Slack
+ auth_token:
+ secure: kBl9BlxvRMr9liHmnBs14A==
+ channel: development
+ template: "{message}, {commitId}, ..."
+
+ # Campfire
+ - provider: Campfire
+ account: appveyor
+ auth_token:
+ secure: RifLRG8Vfyol+sNhj9u2JA==
+ room: ProjectA
+ template: "{message}, {commitId}, ..."
+
+ # Webhook
+ - provider: Webhook
+ url: http://www.myhook2.com
+ headers:
+ User-Agent: myapp 1.0
+ Authorization:
+ secure: GhD+5xhLz/tkYY6AO3fcfQ==
+ on_build_success: false
+ on_build_failure: true
+ on_build_status_changed: true
diff --git a/nuget.config b/nuget.config
deleted file mode 100644
index 28c78837..00000000
--- a/nuget.config
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/shadowsocks-csharp/FodyWeavers.xsd b/shadowsocks-csharp/FodyWeavers.xsd
index e9cd8f0e..a96b3592 100644
--- a/shadowsocks-csharp/FodyWeavers.xsd
+++ b/shadowsocks-csharp/FodyWeavers.xsd
@@ -4,7 +4,6 @@
-
@@ -91,6 +90,7 @@
+
diff --git a/shadowsocks-csharp/packages.config b/shadowsocks-csharp/packages.config
index 98767e3e..f7fcb451 100644
--- a/shadowsocks-csharp/packages.config
+++ b/shadowsocks-csharp/packages.config
@@ -1,10 +1,10 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/shadowsocks-csharp/shadowsocks-csharp.csproj b/shadowsocks-csharp/shadowsocks-csharp.csproj
index b65f466b..3d1ab13c 100644
--- a/shadowsocks-csharp/shadowsocks-csharp.csproj
+++ b/shadowsocks-csharp/shadowsocks-csharp.csproj
@@ -1,7 +1,7 @@
-
-
+
+
Debug
AnyCPU
@@ -69,19 +69,18 @@
- 3rd\Caseless.Fody.1.8.3\lib\net452\Caseless.dll
+ ..\packages\Caseless.Fody.1.8.3\lib\net452\Caseless.dll
-
- 3rd\Costura.Fody.3.3.2\lib\net40\Costura.dll
+
+ ..\packages\Costura.Fody.3.3.3\lib\net40\Costura.dll
- 3rd\GlobalHotKey.1.1.0\lib\GlobalHotKey.dll
- True
+ ..\packages\GlobalHotKey.1.1.0\lib\GlobalHotKey.dll
- 3rd\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll
+ ..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll
@@ -94,11 +93,11 @@
-
- 3rd\ZXing.Net.0.16.4\lib\net461\zxing.dll
+
+ ..\packages\ZXing.Net.0.16.5\lib\net47\zxing.dll
-
- 3rd\ZXing.Net.0.16.4\lib\net461\zxing.presentation.dll
+
+ ..\packages\ZXing.Net.0.16.5\lib\net47\zxing.presentation.dll
@@ -162,8 +161,8 @@
-
+
@@ -291,11 +290,6 @@
.NET Framework 3.5 SP1 Client Profile
false
-
- False
- .NET Framework 2.0 %28x86%29
- false
-
False
.NET Framework 3.0 %28x86%29
@@ -318,51 +312,15 @@
-
-
-
-
-
-
-
-
-
-
-
- ();
-var attribute = config.Attribute("ExcludeAssemblies");
-if (attribute != null)
- foreach (var item in attribute.Value.Split('|').Select(x => x.Trim()).Where(x => x != string.Empty))
- excludedAssemblies.Add(item);
-var element = config.Element("ExcludeAssemblies");
-if (element != null)
- foreach (var item in element.Value.Split(new[] { "\r\n", "\n" }, StringSplitOptions.RemoveEmptyEntries).Select(x => x.Trim()).Where(x => x != string.Empty))
- excludedAssemblies.Add(item);
-
-var filesToCleanup = Files.Select(f => f.ItemSpec).Where(f => !excludedAssemblies.Contains(Path.GetFileNameWithoutExtension(f), StringComparer.InvariantCultureIgnoreCase));
-
-foreach (var item in filesToCleanup)
- File.Delete(item);
-]]>
-
-
-
-
-
+
This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
-
-
-
+
+
+
-