You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@reef.apache.org by Mario Inchiosa <mi...@gmail.com> on 2016/09/26 23:43:11 UTC
.NET Portability Analyzer
Here is a quick example of running the .NET Portability Analyzer against
REEF assemblies from a Windows PowerShell command line:
# Download ApiPort.zip from
https://github.com/Microsoft/dotnet-apiport/releases and extract the files
# Usage info:
https://github.com/Microsoft/dotnet-apiport/blob/master/docs/HowTo/Introduction.md
# Edit the following paths as needed on your machine
cd C:\reef11
$reefdir=".\reef\" #your top level reef directory
$ApiPortdir = "C:\Users\marinch\Downloads\ApiPort\ApiPort" #your command
line portability analyzer directory containing ApiPort.exe
# List the currently available API targets
$cmd = ${ApiPortdir} + "\ApiPort.exe listTargets"
Invoke-Expression $cmd
# Analyze compatibility with .NET Core App Version 1.0
$cmd = ${ApiPortdir} + "\ApiPort.exe analyze -f " + ${reefdir}
+"\lang\cs\bin\. -r excel -t `".NET Core App, Version=1.0`" "
Invoke-Expression $cmd
# Analyze compatibility with .NET Core App Version 1.1
$cmd = ${ApiPortdir} + "\ApiPort.exe analyze -f " + ${reefdir}
+"\lang\cs\bin\. -r excel -t `".NET Core App, Version=1.1`" "
Invoke-Expression $cmd
-Mario
Re: .NET Portability Analyzer
Posted by Mario Inchiosa <mi...@gmail.com>.
The command line version can produce reports in three formats: JSON, HTML,
and Excel. Parsing the JSON should be do-able.
Setting the output format is documented here:
https://github.com/Microsoft/dotnet-apiport/blob/master/docs/HowTo/Introduction.md
Mario
On Tue, Sep 27, 2016 at 10:57 AM, Markus Weimer <ma...@weimo.de> wrote:
> On 2016-09-27 10:07 AM, Mario Inchiosa wrote:
>
>> Yes, the command line version provides an overall picture across all
>> assemblies in the solution, while running from Visual Studio helps
>> pinpoint
>> the lines that need fixing in a particular project.
>>
>
> Can the command line version produce an easy-to-parse counter of the
> number of issues? If so, we could add it as a build step to make sure it
> goes down over time.
>
> Markus
>
Re: .NET Portability Analyzer
Posted by Markus Weimer <ma...@weimo.de>.
On 2016-09-27 10:07 AM, Mario Inchiosa wrote:
> Yes, the command line version provides an overall picture across all
> assemblies in the solution, while running from Visual Studio helps pinpoint
> the lines that need fixing in a particular project.
Can the command line version produce an easy-to-parse counter of the
number of issues? If so, we could add it as a build step to make sure it
goes down over time.
Markus
Re: .NET Portability Analyzer
Posted by Mario Inchiosa <mi...@gmail.com>.
Yes, the command line version provides an overall picture across all
assemblies in the solution, while running from Visual Studio helps pinpoint
the lines that need fixing in a particular project.
On Mon, Sep 26, 2016 at 7:21 PM, Douglas Service <ds...@gmail.com> wrote:
> I tried using the command line version, but the output from the visual
> studio version was clearer about what needed to be done for a given REEF
> project so that is the output I attached to all of the JIRA for CoreCLR API
> changes.
>
> On Mon, Sep 26, 2016 at 4:43 PM, Mario Inchiosa <mi...@gmail.com>
> wrote:
>
> > Here is a quick example of running the .NET Portability Analyzer against
> > REEF assemblies from a Windows PowerShell command line:
> >
> > # Download ApiPort.zip from
> > https://github.com/Microsoft/dotnet-apiport/releases and extract the
> files
> >
> > # Usage info:
> > https://github.com/Microsoft/dotnet-apiport/blob/master/
> > docs/HowTo/Introduction.md
> >
> > # Edit the following paths as needed on your machine
> > cd C:\reef11
> > $reefdir=".\reef\" #your top level reef directory
> > $ApiPortdir = "C:\Users\marinch\Downloads\ApiPort\ApiPort" #your command
> > line portability analyzer directory containing ApiPort.exe
> >
> > # List the currently available API targets
> > $cmd = ${ApiPortdir} + "\ApiPort.exe listTargets"
> > Invoke-Expression $cmd
> >
> > # Analyze compatibility with .NET Core App Version 1.0
> > $cmd = ${ApiPortdir} + "\ApiPort.exe analyze -f " + ${reefdir}
> > +"\lang\cs\bin\. -r excel -t `".NET Core App, Version=1.0`" "
> > Invoke-Expression $cmd
> >
> > # Analyze compatibility with .NET Core App Version 1.1
> > $cmd = ${ApiPortdir} + "\ApiPort.exe analyze -f " + ${reefdir}
> > +"\lang\cs\bin\. -r excel -t `".NET Core App, Version=1.1`" "
> > Invoke-Expression $cmd
> >
> > -Mario
> >
>
Re: .NET Portability Analyzer
Posted by Douglas Service <ds...@gmail.com>.
I tried using the command line version, but the output from the visual
studio version was clearer about what needed to be done for a given REEF
project so that is the output I attached to all of the JIRA for CoreCLR API
changes.
On Mon, Sep 26, 2016 at 4:43 PM, Mario Inchiosa <mi...@gmail.com> wrote:
> Here is a quick example of running the .NET Portability Analyzer against
> REEF assemblies from a Windows PowerShell command line:
>
> # Download ApiPort.zip from
> https://github.com/Microsoft/dotnet-apiport/releases and extract the files
>
> # Usage info:
> https://github.com/Microsoft/dotnet-apiport/blob/master/
> docs/HowTo/Introduction.md
>
> # Edit the following paths as needed on your machine
> cd C:\reef11
> $reefdir=".\reef\" #your top level reef directory
> $ApiPortdir = "C:\Users\marinch\Downloads\ApiPort\ApiPort" #your command
> line portability analyzer directory containing ApiPort.exe
>
> # List the currently available API targets
> $cmd = ${ApiPortdir} + "\ApiPort.exe listTargets"
> Invoke-Expression $cmd
>
> # Analyze compatibility with .NET Core App Version 1.0
> $cmd = ${ApiPortdir} + "\ApiPort.exe analyze -f " + ${reefdir}
> +"\lang\cs\bin\. -r excel -t `".NET Core App, Version=1.0`" "
> Invoke-Expression $cmd
>
> # Analyze compatibility with .NET Core App Version 1.1
> $cmd = ${ApiPortdir} + "\ApiPort.exe analyze -f " + ${reefdir}
> +"\lang\cs\bin\. -r excel -t `".NET Core App, Version=1.1`" "
> Invoke-Expression $cmd
>
> -Mario
>