Skip to content
Erhie edited this page Oct 17, 2017 · 4 revisions
  1. Clone the repository using git clone https://github.com/filoe/cscore.git
  2. Open up the CSCore solution file(CSCore.sln) in Visual Studio. Minimum required Visual Studio version is VS 2008 express).
  3. Make sure that the CSCli, InlineILCompiler and of course CSCore project got loaded successfully.
  4. Build the CSCore project
  5. The following steps will be done by the build process:
  • The CSCore assembly will be compiled by your C# compiler
  • The InlineILCompiler tool will patch the built CSCore.dll and will replace all the InlineIL code with the actual IL instructions.
  • The CSCli tool will patch the CSCore.dll in order to add all the COM object calls.
  • If this step does not run propertly, the process will throw a NotImplementedException
  • as soon as any COM object will be used.
  1. Possibly with Visual Studio Community 2017 it is necessary to add the
  • package source https://www.nuget.org/api/v2/ in settings of NuGet in Visual Studio
  • and it is necessary to install the packages Mono.Cecil and NVorbis with the
  • package manager (Visual Studio->Tools->NuGet Package Manager->Manage NuGet Packages for Solution...
  • After error free building of the projects Tools->CSCli and Samples->NVorbisIntegration should be error free.
  1. With Windows 10 and Mono.Cecil v0.9.6.4 there are problems to build CSCore, because the
  • Post-build event commands execute CSCli exe with failure, because the file CSCore.dll is blocked.
  • By patching Tools\CSCli\Program.cs , that after "if (!File.Exists(filename))"
  • CSCore.dll is renamed e.g. with
  • string origfilename = filename + "_orig"; File.Delete(origfilename); File.Move(filename, origfilename);
  • and by patching this line: var assembly = AssemblyDefinition.ReadAssembly(origfilename, rp);
  • and in if (patcher.PatchAssembly()) {} remove the line File.Delete(filename);
Clone this wiki locally