Skip to content

Instantly share code, notes, and snippets.

View jmarolf's full-sized avatar

Jonathon Marolf jmarolf

View GitHub Profile
public static void CopyFile(string from, string into) 
{
    using (var fromFile = File.Open(from, FileMode.Open, FileAccess.Read))
    using (var toFile = File.Open(into, FileMode.Create, FileAccess.Write))
    {
    // ... Perform actual file copy

    // Both FileStream objects are disposed at the end of the enclosing scope, 
    // in this case, the method declaration.
public static void CopyFile(string from, string into) 
{
    using (var fromFile = File.Open(from, FileMode.Open, FileAccess.Read))
    using (var toFile = File.Open(into, FileMode.Create, FileAccess.Write))
    {
    // ... Perform actual file copy

    // Both FileStream objects are disposed at the end of the enclosing scope, 
    // in this case, the method declaration.
@jmarolf
jmarolf / CodeAnalysisApp1.csproj
Last active March 22, 2018 22:24
example standalone code analysis tool
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net471</TargetFramework>
<LangVersion>Latest</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Build.Locator" Version="1.0.7-preview-ge60d679b53" />
`build.ps1 -build -sign -pack`:
- Build-Artifacts
- Run-MSBuild "Roslyn.sln" "/p:DeployExtension=false"
- Build-ExtraSignArtifacts
- Build-NuGetPackages
- Run-SignTool
- Build-InsertionItems
`build.ps1 -build`:
- Build-Artifacts

build.ps1 -build -sign -pack:

  • Build-Artifacts
    • Run-MSBuild "Roslyn.sln" "/p:DeployExtension=false"
    • Build-ExtraSignArtifacts
    • Build-NuGetPackages
    • Run-SignTool
    • Build-InsertionItems

build.ps1 -build:

  • Build-Artifacts
@jmarolf
jmarolf / ConsoleApplication.csproj
Created August 26, 2018 04:03
Microsoft.CodeAnalysis.Workspaces.MSBuild example
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net461</TargetFramework>
<LangVersion>Latest</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Build.Locator" Version="1.0.18" />
Imports System
Imports System.Collections.Generic
Imports System.IO
Imports System.Linq
Imports System.Text
Imports System.Threading.Tasks
Imports Microsoft.Build.Locator
Imports Microsoft.CodeAnalysis
Imports Microsoft.CodeAnalysis.VisualBasic
Imports Microsoft.CodeAnalysis.VisualBasic.Symbols
using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;
using System.Security.Permissions;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net472</TargetFramework>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Build.Locator" Version="1.2.6" />