Itiviti / gradle-msbuild-plugin

Gradle plugin for msbuild execution, supports C# project files for now
Apache License 2.0
101 stars 57 forks source link

Error : Could not determine the dependencies of task ':msbuild'. #6

Closed la-urre closed 9 years ago

la-urre commented 10 years ago

Hello,

Firstly, thanks for this msbuild plugin.

I have an error when trying to launch my build file. Here it is :

buildscript { repositories { mavenCentral() } dependencies { classpath "com.ullink.gradle:gradle-msbuild-plugin:1.7" //or 1.6, same problem } }

apply plugin:'msbuild'

msbuild { // mandatory projectFile = 'MyProject.csproj'

// Verbosity (/v:detailed, by default uses gradle logging level) verbosity = 'quiet'

configuration = 'Release' platform = 'Windows Phone' }

My project is a Windows Phone project. I get the following error : Could not determine the dependencies of task ':msbuild'. With the stack traces activated, I get another information :

Caused by: org.codehaus.groovy.runtime.InvokerInvocationException: java.io.FileNotFoundException: C:\Program Files\MSBuild\Microsoft\Silverlight for Phone\v4.0\Microsoft.Silverlight.WindowsPhone71.Overrides.targets (Le chemin d'accès spécifié est introuvable).

Indeed, this file does not exist, but it does exist in C:\Program Files (x86).... (same path after). Is this a bug ? Could I configure the path myself ?

Thanks for your help and support !

gluck commented 10 years ago

I think issue #3 fixes that, feel free to give it a try. I haven't had the time to review/polish it, nor can I explain how MSBuild handles this itself.

Cheers.

la-urre commented 10 years ago

OK thank you ! Yes, it looks like it is the same issue, but i am not able to test the fork right now. Do you plan to integrate this pull request fix in the master branch at somt time ?

DKroot commented 10 years ago

I have the same problem if I try to upgrade from 1.6 to 1.9 or 1.7. I'm running it on Windows 7 64-bit and Windows 8.1 64-bit. For now, I downgraded back to 1.6.

Can't test the fork since it is not available. It would be nice if this fix is released.

gluck commented 9 years ago

feel free to give a try of the latest version (2.1+), as it no longer relies on the custom parser, and should handle much more of the msbuild projects scope.

DKroot commented 9 years ago

Tried 2.1, and am still running into this issue on Windows 8.1, VS 2012, Gradle 2.2.1:

Built by Gradle 2.2.1 (C:\gradle)
Error during project file parsing: C:\Users\DK\Projects\iRePORT\src\main\asp.net\NIHiReport\iReport.Service\iReport.Service.cspr
oj: C:\Users\DK\Projects\iRePORT\src\main\asp.net\NIHiReport\iReport.Service\iReport.Service.csproj could not import "$(MSBuildB
inPath)\Microsoft.CSharp.targets"
   at Microsoft.Build.BuildEngine.Project.DoLoad(TextReader textReader)
   at Microsoft.Build.BuildEngine.Project.Load(String projectFileName, ProjectLoadSettings settings)
   at ProjectFileParser.Program.Parse(String file)
   at ProjectFileParser.Program.Main(String[] args)

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':msbuild'.
> Project file parsing failed

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

It's back to 1.6.

gluck commented 9 years ago

Can you provide your build.gradle and/or your csproj+sln ?

Thx

alanmosely commented 9 years ago

Try with 2.3, I had the same issue with 2.1 and it was fixed by moving to 2.3

DPalagi commented 9 years ago

Hi guys! I'm trying to build a Windows Phone 8.1 application through gradle and this cool plugin (thanks for the work =) ) but I have the same issue, even in v2.3. Please can someone show me his build.gradle file?

Here is mine :

"buildscript { repositories { mavenCentral() } dependencies { classpath "com.ullink.gradle:gradle-msbuild-plugin:2.3" } } apply plugin:'msbuild' msbuild { projectFile = 'FirstApp.csproj' verbosity = 'detailed' generateDoc = false platform = 'Windows Phone' configuration = 'Release' }"

The error : "Error during project file parsing: The item meta-data "%(FullPath)" cannot be applied to the path "http://www.w3.org/200 1/04/xmlenc#sha256". Les formats URI ne sont pas pris en charge. à Microsoft.Build.BuildEngine.Shared.ErrorUtilities.ThrowInvalidOperation(String resourceName, Object[] args) à Microsoft.Build.BuildEngine.Shared.ErrorUtilities.VerifyThrowInvalidOperation(Boolean condition, String resourceNam e, Object arg0, Object arg1, Object arg2) à Microsoft.Build.BuildEngine.Shared.FileUtilities.GetItemSpecModifier(String currentDirectory, String itemSpec, Stri ng modifier, Hashtable& cachedModifiers) à Microsoft.Build.BuildEngine.BuildItem.GetItemSpecModifier(String modifier) à Microsoft.Build.BuildEngine.BuildItem.GetEvaluatedMetadataEscaped(String metadataName) à Microsoft.Build.BuildEngine.BuildItem.GetEvaluatedMetadata(String metadataName) à ProjectFileParser.Program.ToJson(Project project) à ProjectFileParser.Program.Parse(String file) à ProjectFileParser.Program.Main(String[] args)

FAILURE: Build failed with an exception.

BUILD FAILED"

Thanks in advance =)

DKroot commented 9 years ago

Tried again with plug-in 2.3 and Gradle 2.3 and failed again. Back to plug-in v1.6.

In the meantime, here is my build.gradle

/*
 * iRePORT Build
 *
 * Environment-specific variables and project properties:
 *
 *  -PwebSiteHome={Deployment site directory}
 *      Optional, defaults to the default IIS site directory: 'C:/inetpub/wwwroot'
 *  -PadoConnectionWithPassword={ADO.NET connection string with DB user credentials}
 *      Optional, defaults to the one in Web.config
 *  -PadoProvider={ADO.NET provider name}
 *      Optional, defaults to "Oracle.ManagedDataAccess.Client" if adoConnectionWithPassword is specified.
 *      If adoConnectionWithPassword is not specified it is ignored.
 */

buildscript {
    repositories { mavenCentral() }

    dependencies { classpath "com.ullink.gradle:gradle-msbuild-plugin:1.6" }
    /* TBD
    Later plug-in versions fail with "Could not determine the dependencies of task ':msbuild'."
    See https://github.com/Ullink/gradle-msbuild-plugin/issues/6
    */
}

//name = 'iRePORT' read-only: defaults to project dir. name, hence might vary. Don't rely on project name in the build!
description = 'iRePORT'

// == Configuration ==

def os = System.getProperty("os.name").toLowerCase()
def env = System.getenv() // a Java Map of env. vars

if (!project.hasProperty('webSiteHome')) {
    project.ext {
        webSiteHome = os.contains("windows") ? "C:/inetpub/wwwroot" : '/tmp/wwwroot'
    }
}

println "${description}"
println "Built by Gradle ${gradle.gradleVersion} (${gradle.gradleHomeDir})"

if (os.contains("windows")) {
    apply plugin:'msbuild'

    msbuild { // Configure msbuild task
        projectFile = 'src/main/asp.net/NIHiReport/iReport.Service/iReport.Service.csproj'

        // MsBuild project name (/p:Project=...)
        projectName = 'NIHiReport'

        // Verbosity (/v:detailed, by default uses gradle logging level)
        //verbosity = 'detailed'

        // targets to execute (/t:Clean;Rebuild, no default)
        targets = ['Clean', 'Rebuild']

        // == Below values override settings from the project file ==

        // overrides project OutputPath
        destinationDir = 'build/msbuild/bin'

        // overrides project IntermediaryOutputPath
        intermediateDir = 'build/msbuild/obj'

        // Generates XML documentation file (from javadoc through custom DocLet)
        generateDoc = false

        // Build properties (/p:SomeProperty=Value):
        parameters.DeployOnBuild = 'true'
        parameters.PublishProfile = 'local_ireport_publish' // Publishes to build/app/
        parameters.VisualStudioVersion = '11.0' // VS 2012

        // Other msbuild options can be set:
        // loggerAssembly, debugType, optimize, debugSymbols, configuration, platform, defineConstants ...
    }
} else {
    task clean(description:'Deletes the build directory') << {
        delete project.buildDir
    }

    task msbuild(description:'(Mac, Linux): Emulates MSBuild somewhat: copies files to the build directory') << {
        println "Copying from ${projectDir.getPath().replace('\\', '/')}/src/main/asp.net/NIHiReport/iReport.Service/ to the build dir.: ${project.buildDir}/app"

        ant.sync(toDir: "${project.buildDir}/app", verbose: 'true') {
            fileset(dir: "src/main/asp.net/NIHiReport/iReport.Service/")
        }
    }
}

//'hotDeploy' implicitly depends on msbuild, which works only on Windows
//defaultTasks 'hotDeploy'

// == Custom tasks ==

task configure(description:'Configure application for a particular environnment') << {
    if (project.hasProperty('adoConnectionWithPassword')) {
        // If property is not supplied, assume everything needed is already in property file(s)

        println("Configuring application for this environment ...")
        //def puppet = os.contains("windows") ? 'cmd' : 'puppet'

        // Puppet requires forward slashes only as path separators:
        // https://docs.puppetlabs.com/references/latest/type.html#file-attribute-path
        def configFile = "${projectDir.getPath().replace('\\', '/')}/build/app/Web.config"
        println("Checking ${configFile} ...")

        def result = exec {
            // == Pass Puppet facts ==
            environment["FACTER_CONFIG_FILE"] = configFile

            environment["FACTER_ADO_PROVIDER"] = project.hasProperty('adoProvider') ?
                project['adoProvider'] : 'Oracle.ManagedDataAccess.Client';
            environment["FACTER_ADO_CONNECTION"] = project['adoConnectionWithPassword']

            if (os.contains("windows")) {
                // TBD Fail the build if Puppet is not installed
                // TBD Puppet launcher requires Command Extensions and Delayed Expansion options to be enabled
                commandLine 'cmd'
                args '/e:on', '/v:on', '/c', 'puppet.bat'
            } else {
                commandLine 'puppet'
            }
            args 'apply', 'configure.pp', '--detailed-exitcodes'
            /* An exit code of '2' means there were changes, an exit code of '4' means there were failures during
             * the transaction, and an exit code of '6' means there were both changes and failures.
             * If --detailed-exitcodes is omitted Puppet always return 0 (which is completely ridiculous).
             */
            ignoreExitValue = true

            // Shows all facts available in Puppet including passed facts
            //commandLine (os.contains("windows") ? 'facter.bat' : 'facter')
        }

        assert (result.exitValue < 4) : 'Puppet configure failed'
    }
}

//'hotDeploy' implicitly depends on msbuild, which works only on Windows

task hotDeploy(dependsOn: [configure], description:'Sync web app content to the website') << {
    println "Deploying from ${projectDir.getPath().replace('\\', '/')}/build/app/ to the IIS website: ${webSiteHome}"
    // Using Ant sync to copy only changed files and preserve timestamps
    ant.sync(toDir: "${webSiteHome}/", verbose: 'true') {
        fileset(dir: "build/app/")
    }
    /* captureStandardOutput does not affect Ant logger bridging, only stdout from Ant.
     * Run on info level (-i) to see files copied.  See
     * http://gradle.1045684.n5.nabble.com/How-to-log-ant-stdout-with-gradle-td1433435.html
     */
}

task vars(description:'Print environment variables and project properties') << {
    println("== Environment variables ==\n")
    for (var in env.sort()) {
        println "${var.key}=${var.value}"
    }

    println("\n== Project properties ==\n")
    for (var in project.properties.sort()) {
        if (var.key != "properties") {
            def value = var.key.toLowerCase().contains("password") ? "*****" : var.value
            println "${var.key}=${value}"
        }
    }

    println("\n== Puppet facts ==\n")
    exec {
        // == Pass Puppet facts ==
        environment["FACTER_PROJECT_DIR"] = projectDir.getPath().replace('\\', '/')
        environment["FACTER_DB_CONNECTION"] = project["connectionString"]

        if (os.contains("windows")) {
            // TBD Facter launcher requires Command Extensions and Delayed Expansion options to be enabled
            commandLine 'cmd'
            args '/e:on', '/v:on', '/c', 'facter.bat'
        } else {
            commandLine 'facter'
        }
    }

    println("\n== Puppet configuration settings ==\n")
    exec {
        if (os.contains("windows")) {
            // TBD Facter launcher requires Command Extensions and Delayed Expansion options to be enabled
            commandLine 'cmd'
            args '/e:on', '/v:on', '/c', 'puppet.bat'
        } else {
            commandLine 'puppet'
        }
        args 'config', 'print'
    }
}

And here is the project file, iReport.Service.csproj:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProductVersion>
    </ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{F3DA1AE0-3AF6-4D23-BFC0-351EA194CEF2}</ProjectGuid>
    <ProjectTypeGuids>{E3E379DF-F4C6-4180-9B81-6769533ABE47};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>NIHiReport</RootNamespace>
    <AssemblyName>NIHiReport</AssemblyName>
    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
    <MvcBuildViews>false</MvcBuildViews>
    <UseIISExpress>true</UseIISExpress>
    <IISExpressSSLPort />
    <IISExpressAnonymousAuthentication />
    <IISExpressWindowsAuthentication />
    <IISExpressUseClassicPipelineMode />
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>..\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.dll</HintPath>
    </Reference>
    <Reference Include="EntityFramework.SqlServer">
      <HintPath>..\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.SqlServer.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.CSharp" />
    <Reference Include="Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>..\lib\ODP.NET.12c.R3\Oracle.ManagedDataAccess.dll</HintPath>
    </Reference>
    <Reference Include="Oracle.ManagedDataAccess.EntityFramework, Version=6.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>..\lib\ODP.NET.12c.R3\Oracle.ManagedDataAccess.EntityFramework.dll</HintPath>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="System.Drawing" />
    <Reference Include="System.Runtime.Caching" />
    <Reference Include="System.Runtime.Serialization" />
    <Reference Include="System.Security" />
    <Reference Include="System.Web.DynamicData" />
    <Reference Include="System.Web.Entity" />
    <Reference Include="System.Web.ApplicationServices" />
    <Reference Include="System.ComponentModel.DataAnnotations" />
    <Reference Include="System.Core" />
    <Reference Include="System.Data.DataSetExtensions" />
    <Reference Include="System.Xml.Linq" />
    <Reference Include="System.Web" />
    <Reference Include="System.Web.Extensions" />
    <Reference Include="System.Web.Abstractions" />
    <Reference Include="System.Web.Routing" />
    <Reference Include="System.Xml" />
    <Reference Include="System.Configuration" />
    <Reference Include="System.Transactions" />
    <Reference Include="System.Web.Services" />
    <Reference Include="System.EnterpriseServices" />
    <Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <Private>True</Private>
      <HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
    </Reference>
    <Reference Include="Newtonsoft.Json">
      <HintPath>..\packages\Newtonsoft.Json.4.5.6\lib\net40\Newtonsoft.Json.dll</HintPath>
    </Reference>
    <Reference Include="System.Net.Http">
    </Reference>
    <Reference Include="System.Net.Http.Formatting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <HintPath>..\packages\Microsoft.AspNet.WebApi.Client.4.0.20710.0\lib\net40\System.Net.Http.Formatting.dll</HintPath>
      <Private>True</Private>
    </Reference>
    <Reference Include="System.Net.Http.WebRequest">
    </Reference>
    <Reference Include="System.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <Private>True</Private>
      <HintPath>..\packages\Microsoft.AspNet.WebPages.2.0.20710.0\lib\net40\System.Web.Helpers.dll</HintPath>
    </Reference>
    <Reference Include="System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <HintPath>..\packages\Microsoft.AspNet.WebApi.Core.4.0.20710.0\lib\net40\System.Web.Http.dll</HintPath>
      <Private>True</Private>
    </Reference>
    <Reference Include="System.Web.Http.WebHost, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <HintPath>..\packages\Microsoft.AspNet.WebApi.WebHost.4.0.20710.0\lib\net40\System.Web.Http.WebHost.dll</HintPath>
      <Private>True</Private>
    </Reference>
    <Reference Include="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <Private>True</Private>
      <HintPath>..\packages\Microsoft.AspNet.Mvc.4.0.20710.0\lib\net40\System.Web.Mvc.dll</HintPath>
    </Reference>
    <Reference Include="System.Web.Optimization">
      <HintPath>..\packages\Microsoft.AspNet.Web.Optimization.1.0.0\lib\net40\System.Web.Optimization.dll</HintPath>
    </Reference>
    <Reference Include="System.Web.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <Private>True</Private>
      <HintPath>..\packages\Microsoft.AspNet.Razor.2.0.20710.0\lib\net40\System.Web.Razor.dll</HintPath>
    </Reference>
    <Reference Include="System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <Private>True</Private>
      <HintPath>..\packages\Microsoft.AspNet.WebPages.2.0.20710.0\lib\net40\System.Web.WebPages.dll</HintPath>
    </Reference>
    <Reference Include="System.Web.WebPages.Deployment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <Private>True</Private>
      <HintPath>..\packages\Microsoft.AspNet.WebPages.2.0.20710.0\lib\net40\System.Web.WebPages.Deployment.dll</HintPath>
    </Reference>
    <Reference Include="System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <Private>True</Private>
      <HintPath>..\packages\Microsoft.AspNet.WebPages.2.0.20710.0\lib\net40\System.Web.WebPages.Razor.dll</HintPath>
    </Reference>
    <Reference Include="WebAPI.OutputCache, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>..\packages\Strathweb.CacheOutput.0.5\lib\net40\WebAPI.OutputCache.dll</HintPath>
    </Reference>
    <Reference Include="WebApi.OutputCache.Core, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>..\packages\Strathweb.CacheOutput.0.5\lib\net40\WebApi.OutputCache.Core.dll</HintPath>
    </Reference>
    <Reference Include="WebMatrix.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <Private>True</Private>
      <HintPath>..\packages\Microsoft.AspNet.WebPages.Data.2.0.20710.0\lib\net40\WebMatrix.Data.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.Web.WebPages.OAuth, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <Private>True</Private>
      <HintPath>..\packages\Microsoft.AspNet.WebPages.OAuth.2.0.20710.0\lib\net40\Microsoft.Web.WebPages.OAuth.dll</HintPath>
    </Reference>
    <Reference Include="WebMatrix.WebData, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <Private>True</Private>
      <HintPath>..\packages\Microsoft.AspNet.WebPages.WebData.2.0.20710.0\lib\net40\WebMatrix.WebData.dll</HintPath>
    </Reference>
    <Reference Include="DotNetOpenAuth.AspNet, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246, processorArchitecture=MSIL">
      <Private>True</Private>
      <HintPath>..\packages\DotNetOpenAuth.AspNet.4.0.3.12153\lib\net40-full\DotNetOpenAuth.AspNet.dll</HintPath>
    </Reference>
    <Reference Include="DotNetOpenAuth.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246, processorArchitecture=MSIL">
      <Private>True</Private>
      <HintPath>..\packages\DotNetOpenAuth.Core.4.0.3.12153\lib\net40-full\DotNetOpenAuth.Core.dll</HintPath>
    </Reference>
    <Reference Include="DotNetOpenAuth.OAuth.Consumer, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246, processorArchitecture=MSIL">
      <Private>True</Private>
      <HintPath>..\packages\DotNetOpenAuth.OAuth.Consumer.4.0.3.12153\lib\net40-full\DotNetOpenAuth.OAuth.Consumer.dll</HintPath>
    </Reference>
    <Reference Include="DotNetOpenAuth.OAuth, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246, processorArchitecture=MSIL">
      <Private>True</Private>
      <HintPath>..\packages\DotNetOpenAuth.OAuth.Core.4.0.3.12153\lib\net40-full\DotNetOpenAuth.OAuth.dll</HintPath>
    </Reference>
    <Reference Include="DotNetOpenAuth.OpenId, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246, processorArchitecture=MSIL">
      <Private>True</Private>
      <HintPath>..\packages\DotNetOpenAuth.OpenId.Core.4.0.3.12153\lib\net40-full\DotNetOpenAuth.OpenId.dll</HintPath>
    </Reference>
    <Reference Include="DotNetOpenAuth.OpenId.RelyingParty, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246, processorArchitecture=MSIL">
      <Private>True</Private>
      <HintPath>..\packages\DotNetOpenAuth.OpenId.RelyingParty.4.0.3.12153\lib\net40-full\DotNetOpenAuth.OpenId.RelyingParty.dll</HintPath>
    </Reference>
    <Reference Include="WebGrease">
      <Private>True</Private>
      <HintPath>..\packages\WebGrease.1.1.0\lib\WebGrease.dll</HintPath>
    </Reference>
    <Reference Include="Antlr3.Runtime">
      <Private>True</Private>
      <HintPath>..\packages\WebGrease.1.1.0\lib\Antlr3.Runtime.dll</HintPath>
    </Reference>
  </ItemGroup>
  <ItemGroup>
    <Compile Include="App_Start\RouteConfig.cs" />
    <Compile Include="App_Start\WebApiConfig.cs" />
    <Compile Include="Controllers\CitationPublicationsController.cs" />
    <Compile Include="Controllers\CitationApplicationsController.cs" />
    <Compile Include="Controllers\CitationsController.cs" />
    <Compile Include="Controllers\CustomPortfoliosController.cs" />
    <Compile Include="Controllers\PagesController.cs" />
    <Compile Include="Controllers\PeopleController.cs" />
    <Compile Include="Controllers\QvrPortfoliosController.cs" />
    <Compile Include="Controllers\RolesController.cs" />
    <Compile Include="Controllers\WidgetListController.cs" />
    <Compile Include="Data\CitationPublications.cs" />
    <Compile Include="Data\CitationApplications.cs" />
    <Compile Include="Data\CitationStatistics.cs">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="Data\CustomPortfolios.cs" />
    <Compile Include="Data\NewsItem.cs" />
    <Compile Include="Data\NihApplication.cs" />
    <Compile Include="Data\PageLayout.cs" />
    <Compile Include="Data\PersonInvolvement.cs" />
    <Compile Include="Data\Portfolio.cs" />
    <Compile Include="Data\People.cs" />
    <Compile Include="Data\ProgressReport.cs" />
    <Compile Include="Data\Publication.cs" />
    <Compile Include="Data\QvrCart.cs" />
    <Compile Include="Data\UpcomingReviewMeeting.cs" />
    <Compile Include="Data\CommonsUserRole.cs" />
    <Compile Include="Data\UnfundedClass.cs" />
    <Compile Include="Data\PersonAndOrg.cs" />
    <Compile Include="UserInfo\OperationCode.cs" />
    <Compile Include="Controllers\DeleteProtfolioController.cs" />
    <Compile Include="Controllers\NewsItemsController.cs" />
    <Compile Include="Controllers\PortfoliosController.cs" />
    <Compile Include="Controllers\ProgressReportsController.cs" />
    <Compile Include="Controllers\PublicationsController.cs" />
    <Compile Include="Controllers\ReviewsController.cs" />
    <Compile Include="Controllers\UnfundedApplsController.cs" />
    <Compile Include="Controllers\UserController.cs" />
    <Compile Include="Data\DbConnectionFactory.cs" />
    <Compile Include="Data\AppDbContext.cs" />
    <Compile Include="Global.asax.cs">
      <DependentUpon>Global.asax</DependentUpon>
    </Compile>
    <Compile Include="Properties\AssemblyInfo.cs" />
    <Compile Include="UserInfo\Authorizer.cs" />
    <Compile Include="Service\iRepository.cs" />
    <Compile Include="UserInfo\UserProfile.cs">
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="UserInfo\UserProfileAndRole.cs" />
    <Compile Include="UserInfo\UserProfileWithRoles.cs">
      <SubType>Code</SubType>
    </Compile>
  </ItemGroup>
  <ItemGroup>
    <Content Include="app\emulate.html" />
    <Content Include="app\img\small-loading.png" />
    <Content Include="app\js\route.js" />
    <Content Include="app\templates\qvrportfolios.html" />
    <Content Include="app\templates\citations.html" />
    <Content Include="app\templates\news.html" />
    <Content Include="app\templates\person.html" />
    <Content Include="app\templates\progressreports.html" />
    <Content Include="app\templates\publications.html" />
    <Content Include="app\templates\reviews.html" />
    <Content Include="app\templates\search.html" />
    <Content Include="app\templates\unfundedappls.html" />
    <Content Include="app\widgets.html" />
    <Content Include="Default.htm" />
    <Content Include="favicon.ico" />
    <Content Include="Global.asax" />
    <Content Include="app\bower_components\html5-boilerplate\.bower.json" />
    <Content Include="app\bower_components\html5-boilerplate\.gitattributes" />
    <Content Include="app\bower_components\html5-boilerplate\.gitignore" />
    <Content Include="app\bower_components\html5-boilerplate\.htaccess" />
    <Content Include="app\bower_components\html5-boilerplate\CHANGELOG.md" />
    <Content Include="app\bower_components\html5-boilerplate\CONTRIBUTING.md" />
    <Content Include="app\bower_components\html5-boilerplate\doc\crossdomain.md" />
    <Content Include="app\bower_components\html5-boilerplate\doc\css.md" />
    <Content Include="app\bower_components\html5-boilerplate\doc\extend.md" />
    <Content Include="app\bower_components\html5-boilerplate\doc\faq.md" />
    <Content Include="app\bower_components\html5-boilerplate\doc\html.md" />
    <Content Include="app\bower_components\html5-boilerplate\doc\js.md" />
    <Content Include="app\bower_components\html5-boilerplate\doc\misc.md" />
    <Content Include="app\bower_components\html5-boilerplate\doc\TOC.md" />
    <Content Include="app\bower_components\html5-boilerplate\doc\usage.md" />
    <Content Include="app\bower_components\html5-boilerplate\img\.gitignore" />
    <Content Include="app\bower_components\html5-boilerplate\LICENSE.md" />
    <Content Include="app\bower_components\html5-boilerplate\README.md" />
    <Content Include="app\bower_components\jspdf\.bower.json" />
    <Content Include="app\bower_components\jspdf\bower.json" />
    <Content Include="app\bower_components\jspdf\README.md" />
    <Content Include="app\bower_components\tablesorter\.bower.json" />
    <Content Include="app\bower_components\tablesorter\.gitignore" />
    <Content Include="app\bower_components\tablesorter\changelog" />
    <Content Include="app\bower_components\tablesorter\LICENSE" />
    <Content Include="app\bower_components\tablesorter\README.md" />
    <Content Include="app\bower_components\tablesorter\themes\blue\blue.zip" />
    <Content Include="app\bower_components\tablesorter\themes\green\green.zip" />
    <Content Include="app\fonts\ireport-icons.svg" />
    <Content Include="app\img\.gitkeep" />
    <Content Include="app\css\app.css" />
    <Content Include="app\css\base.css" />
    <Content Include="app\css\flipper-ie.css" />
    <Content Include="app\css\flipper.css" />
    <Content Include="app\css\ireport-icons-codes.css" />
    <Content Include="app\css\ireport-icons-embedded.css" />
    <Content Include="app\css\ireport-icons-ie7-codes.css" />
    <Content Include="app\css\ireport-icons-ie7.css" />
    <Content Include="app\css\ireport-icons.css" />
    <Content Include="app\css\theme.css" />
    <Content Include="app\js\app.min.js" />
    <Content Include="app\js\controllers.min.js" />
    <Content Include="app\js\controllers__.js" />
    <Content Include="app\js\dashboard.min.js" />
    <Content Include="app\js\excellentexport.min.js" />
    <Content Include="app\js\filters.min.js" />
    <Content Include="app\js\jquery.floatThead.js" />
    <Content Include="app\js\services.min.js" />
    <Content Include="app\js\widgetLoading.js" />
    <Content Include="app\js\widgetLoading.min.js" />
    <Content Include="app\js\xls.js" />
    <Content Include="app\js\xlsx.core.min.js" />
    <Content Include="app\manage.html" />
    <Content Include="app\fonts\ireport-icons.eot" />
    <Content Include="app\fonts\ireport-icons.ttf" />
    <Content Include="app\fonts\ireport-icons.woff" />
    <None Include="Properties\PublishProfiles\iReport_LOCAL.pubxml" />
    <None Include="Properties\PublishProfiles\local_ireport_publish.pubxml" />
    <Content Include="app\bower_components\html5-boilerplate\404.html" />
    <Content Include="app\bower_components\html5-boilerplate\apple-touch-icon-precomposed.png" />
    <Content Include="app\bower_components\html5-boilerplate\crossdomain.xml" />
    <Content Include="app\bower_components\html5-boilerplate\css\main.css" />
    <Content Include="app\bower_components\html5-boilerplate\css\normalize.css" />
    <Content Include="app\bower_components\html5-boilerplate\favicon.ico" />
    <Content Include="app\bower_components\html5-boilerplate\humans.txt" />
    <Content Include="app\bower_components\html5-boilerplate\index.html" />
    <Content Include="app\bower_components\html5-boilerplate\js\main.js" />
    <Content Include="app\bower_components\html5-boilerplate\js\plugins.js" />
    <Content Include="app\bower_components\html5-boilerplate\js\vendor\jquery-1.10.2.min.js" />
    <Content Include="app\bower_components\html5-boilerplate\js\vendor\modernizr-2.6.2.min.js" />
    <Content Include="app\bower_components\html5-boilerplate\robots.txt" />
    <Content Include="app\bower_components\jspdf\dist\jspdf.debug.js" />
    <Content Include="app\bower_components\jspdf\dist\jspdf.min.js" />
    <Content Include="app\bower_components\jspdf\doc\files.html" />
    <Content Include="app\bower_components\jspdf\doc\index.html" />
    <Content Include="app\bower_components\jspdf\doc\symbols\FontObject.html" />
    <Content Include="app\bower_components\jspdf\doc\symbols\jsPDF-jsPDF.html" />
    <Content Include="app\bower_components\jspdf\doc\symbols\jsPDF-PubSub.html" />
    <Content Include="app\bower_components\jspdf\doc\symbols\jsPDF.html" />
    <Content Include="app\bower_components\jspdf\doc\symbols\jsPDFClass.html" />
    <Content Include="app\bower_components\jspdf\doc\symbols\PubSub.html" />
    <Content Include="app\bower_components\jspdf\doc\symbols\src\c__work_jsPDF_jspdf.js.html" />
    <Content Include="app\bower_components\jspdf\doc\symbols\src\c__work_jsPDF_tools_jspdf.js.html" />
    <Content Include="app\bower_components\jspdf\doc\symbols\src\jspdf.js.html" />
    <Content Include="app\bower_components\jspdf\doc\symbols\_global_.html" />
    <Content Include="app\bower_components\jspdf\examples\basic.html" />
    <Content Include="app\bower_components\jspdf\examples\bootstrap\css\bootstrap-responsive.css" />
    <Content Include="app\bower_components\jspdf\examples\bootstrap\css\bootstrap-responsive.min.css" />
    <Content Include="app\bower_components\jspdf\examples\bootstrap\css\bootstrap.css" />
    <Content Include="app\bower_components\jspdf\examples\bootstrap\css\bootstrap.min.css" />
    <Content Include="app\bower_components\jspdf\examples\bootstrap\img\glyphicons-halflings-white.png" />
    <Content Include="app\bower_components\jspdf\examples\bootstrap\img\glyphicons-halflings.png" />
    <Content Include="app\bower_components\jspdf\examples\bootstrap\js\bootstrap.js" />
    <Content Include="app\bower_components\jspdf\examples\bootstrap\js\bootstrap.min.js" />
    <Content Include="app\bower_components\jspdf\examples\css\editor.css" />
    <Content Include="app\bower_components\jspdf\examples\css\main.css" />
    <Content Include="app\bower_components\jspdf\examples\css\smoothness\images\ui-bg_flat_0_aaaaaa_40x100.png" />
    <Content Include="app\bower_components\jspdf\examples\css\smoothness\images\ui-bg_flat_75_ffffff_40x100.png" />
    <Content Include="app\bower_components\jspdf\examples\css\smoothness\images\ui-bg_glass_55_fbf9ee_1x400.png" />
    <Content Include="app\bower_components\jspdf\examples\css\smoothness\images\ui-bg_glass_65_ffffff_1x400.png" />
    <Content Include="app\bower_components\jspdf\examples\css\smoothness\images\ui-bg_glass_75_dadada_1x400.png" />
    <Content Include="app\bower_components\jspdf\examples\css\smoothness\images\ui-bg_glass_75_e6e6e6_1x400.png" />
    <Content Include="app\bower_components\jspdf\examples\css\smoothness\images\ui-bg_glass_95_fef1ec_1x400.png" />
    <Content Include="app\bower_components\jspdf\examples\css\smoothness\images\ui-bg_highlight-soft_75_cccccc_1x100.png" />
    <Content Include="app\bower_components\jspdf\examples\css\smoothness\images\ui-icons_222222_256x240.png" />
    <Content Include="app\bower_components\jspdf\examples\css\smoothness\images\ui-icons_2e83ff_256x240.png" />
    <Content Include="app\bower_components\jspdf\examples\css\smoothness\images\ui-icons_454545_256x240.png" />
    <Content Include="app\bower_components\jspdf\examples\css\smoothness\images\ui-icons_888888_256x240.png" />
    <Content Include="app\bower_components\jspdf\examples\css\smoothness\images\ui-icons_cd0a0a_256x240.png" />
    <Content Include="app\bower_components\jspdf\examples\css\smoothness\jquery-ui-1.8.17.custom.css" />
    <Content Include="app\bower_components\jspdf\examples\downloadify.html" />
    <Content Include="app\bower_components\jspdf\examples\images.html" />
    <Content Include="app\bower_components\jspdf\examples\images\24_bit.png" />
    <Content Include="app\bower_components\jspdf\examples\images\32_bit.png" />
    <Content Include="app\bower_components\jspdf\examples\images\grayscale_16bpc.png" />
    <Content Include="app\bower_components\jspdf\examples\images\grayscale_8bpc.png" />
    <Content Include="app\bower_components\jspdf\examples\images\grayscale_alpha_16_bpc.png" />
    <Content Include="app\bower_components\jspdf\examples\images\grayscale_alpha_8bpc.png" />
    <Content Include="app\bower_components\jspdf\examples\images\grid.png" />
    <Content Include="app\bower_components\jspdf\examples\images\jpg.jpg" />
    <Content Include="app\bower_components\jspdf\examples\images\png8_flat.png" />
    <Content Include="app\bower_components\jspdf\examples\images\png8_trans.png" />
    <Content Include="app\bower_components\jspdf\examples\images\RGBA_16bpc.png" />
    <Content Include="app\bower_components\jspdf\examples\images\RGB_16bpc.png" />
    <Content Include="app\bower_components\jspdf\examples\images\tiny_png_indexed.png" />
    <Content Include="app\bower_components\jspdf\examples\jaxer.html" />
    <Content Include="app\bower_components\jspdf\examples\js\basic.js" />
    <Content Include="app\bower_components\jspdf\examples\js\circles.js" />
    <Content Include="app\bower_components\jspdf\examples\js\editor.js" />
    <Content Include="app\bower_components\jspdf\examples\js\font-faces.js" />
    <Content Include="app\bower_components\jspdf\examples\js\font-size.js" />
    <Content Include="app\bower_components\jspdf\examples\js\from-html.js" />
    <Content Include="app\bower_components\jspdf\examples\js\html2canvas.js" />
    <Content Include="app\bower_components\jspdf\examples\js\images.js" />
    <Content Include="app\bower_components\jspdf\examples\js\jquery\jquery-1.7.1.min.js" />
    <Content Include="app\bower_components\jspdf\examples\js\jquery\jquery-ui-1.8.17.custom.min.js" />
    <Content Include="app\bower_components\jspdf\examples\js\kitchen-sink.js" />
    <Content Include="app\bower_components\jspdf\examples\js\landscape.js" />
    <Content Include="app\bower_components\jspdf\examples\js\lines.js" />
    <Content Include="app\bower_components\jspdf\examples\js\rectangles.js" />
    <Content Include="app\bower_components\jspdf\examples\js\string-splitting.js" />
    <Content Include="app\bower_components\jspdf\examples\js\text-colors.js" />
    <Content Include="app\bower_components\jspdf\examples\js\theme-ambiance.js" />
    <Content Include="app\bower_components\jspdf\examples\js\triangles.js" />
    <Content Include="app\bower_components\jspdf\examples\js\two-page.js" />
    <Content Include="app\bower_components\jspdf\examples\js\user-input.js" />
    <Content Include="app\bower_components\jspdf\examples\null-logo-trans.png" />
    <Content Include="app\bower_components\jspdf\examples\octocat.jpg" />
    <Content Include="app\bower_components\jspdf\examples\octocat.png" />
    <Content Include="app\bower_components\jspdf\examples\runner.html" />
    <Content Include="app\bower_components\jspdf\examples\thinking-monkey.jpg" />
    <Content Include="app\bower_components\jspdf\index.html" />
    <Content Include="app\bower_components\jspdf\MIT-LICENSE.txt" />
    <Content Include="app\bower_components\tablesorter\addons\pager\jquery.tablesorter.pager.css" />
    <Content Include="app\bower_components\tablesorter\addons\pager\jquery.tablesorter.pager.js" />
    <Content Include="app\bower_components\tablesorter\build.xml" />
    <Content Include="app\bower_components\tablesorter\build\js.jar" />
    <Content Include="app\bower_components\tablesorter\build\jsmin.js" />
    <Content Include="app\bower_components\tablesorter\build\min.js" />
    <Content Include="app\bower_components\tablesorter\build\pack.js" />
    <Content Include="app\bower_components\tablesorter\build\packer.js" />
    <Content Include="app\bower_components\tablesorter\build\ParseMaster.js" />
    <Content Include="app\bower_components\tablesorter\build\writeFile.js" />
    <Content Include="app\bower_components\tablesorter\docs\assets\ajax-content.html" />
    <Content Include="app\bower_components\tablesorter\docs\css\jq.css" />
    <Content Include="app\bower_components\tablesorter\docs\example-ajax.html" />
    <Content Include="app\bower_components\tablesorter\docs\example-attribute-sort.html" />
    <Content Include="app\bower_components\tablesorter\docs\example-empty-table.html" />
    <Content Include="app\bower_components\tablesorter\docs\example-extending-defaults.html" />
    <Content Include="app\bower_components\tablesorter\docs\example-meta-headers.html" />
    <Content Include="app\bower_components\tablesorter\docs\example-meta-parsers.html" />
    <Content Include="app\bower_components\tablesorter\docs\example-meta-sort-list.html" />
    <Content Include="app\bower_components\tablesorter\docs\example-option-debug.html" />
    <Content Include="app\bower_components\tablesorter\docs\example-option-digits.html" />
    <Content Include="app\bower_components\tablesorter\docs\example-option-sort-force.html" />
    <Content Include="app\bower_components\tablesorter\docs\example-option-sort-key.html" />
    <Content Include="app\bower_components\tablesorter\docs\example-option-sort-list.html" />
    <Content Include="app\bower_components\tablesorter\docs\example-option-sort-order.html" />
    <Content Include="app\bower_components\tablesorter\docs\example-option-text-extraction.html" />
    <Content Include="app\bower_components\tablesorter\docs\example-options-headers.html" />
    <Content Include="app\bower_components\tablesorter\docs\example-pager.html" />
    <Content Include="app\bower_components\tablesorter\docs\example-parsers.html" />
    <Content Include="app\bower_components\tablesorter\docs\example-trigger-sort.html" />
    <Content Include="app\bower_components\tablesorter\docs\example-triggers.html" />
    <Content Include="app\bower_components\tablesorter\docs\example-update-cell.html" />
    <Content Include="app\bower_components\tablesorter\docs\example-widgets.html" />
    <Content Include="app\bower_components\tablesorter\docs\img\external.png" />
    <Content Include="app\bower_components\tablesorter\docs\index.html" />
    <Content Include="app\bower_components\tablesorter\docs\js\docs.js" />
    <Content Include="app\bower_components\tablesorter\docs\js\examples.js" />
    <Content Include="app\bower_components\tablesorter\jquery-latest.js" />
    <Content Include="app\bower_components\tablesorter\jquery.metadata.js" />
    <Content Include="app\bower_components\tablesorter\jquery.tablesorter.js" />
    <Content Include="app\bower_components\tablesorter\jquery.tablesorter.min.js" />
    <Content Include="app\bower_components\tablesorter\themes\blue\asc.gif" />
    <Content Include="app\bower_components\tablesorter\themes\blue\bg.gif" />
    <Content Include="app\bower_components\tablesorter\themes\blue\desc.gif" />
    <Content Include="app\bower_components\tablesorter\themes\blue\style.css" />
    <Content Include="app\bower_components\tablesorter\themes\green\asc.png" />
    <Content Include="app\bower_components\tablesorter\themes\green\bg.png" />
    <Content Include="app\bower_components\tablesorter\themes\green\desc.png" />
    <Content Include="app\bower_components\tablesorter\themes\green\style.css" />
    <Content Include="app\favicon.ico" />
    <Content Include="app\img\apple-touch-icon-114-precomposed.png" />
    <Content Include="app\img\apple-touch-icon-144-precomposed.png" />
    <Content Include="app\img\apple-touch-icon-57-precomposed.png" />
    <Content Include="app\img\apple-touch-icon-72-precomposed.png" />
    <Content Include="app\img\loading-gray.gif" />
    <Content Include="app\img\loading-white.gif" />
    <Content Include="app\img\loading.png" />
    <Content Include="app\img\logo.png" />
    <Content Include="app\index.html" />
    <Content Include="app\js\app.js" />
    <Content Include="app\js\controllers.js" />
    <Content Include="app\js\dashboard.js" />
    <Content Include="app\js\directives.js" />
    <Content Include="app\js\filters.js" />
    <Content Include="app\js\services.js" />
    <Content Include="Web.config">
      <SubType>Designer</SubType>
    </Content>
    <None Include="Web.Debug.config">
      <DependentUpon>Web.config</DependentUpon>
    </None>
    <None Include="Web.Release.config">
      <DependentUpon>Web.config</DependentUpon>
    </None>
  </ItemGroup>
  <ItemGroup>
    <Folder Include="App_Data\" />
    <Folder Include="Filters\" />
  </ItemGroup>
  <ItemGroup>
    <Content Include="packages.config" />
  </ItemGroup>
  <ItemGroup>
    <Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
  </ItemGroup>
  <PropertyGroup>
    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Local|AnyCPU'">
    <DebugSymbols>true</DebugSymbols>
    <OutputPath>bin\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <DebugType>full</DebugType>
    <PlatformTarget>AnyCPU</PlatformTarget>
    <ErrorReport>prompt</ErrorReport>
    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Dmitri|AnyCPU'">
    <DebugSymbols>true</DebugSymbols>
    <OutputPath>bin\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <DebugType>full</DebugType>
    <PlatformTarget>AnyCPU</PlatformTarget>
    <ErrorReport>prompt</ErrorReport>
    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
  </PropertyGroup>
  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
  <Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
  <Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
    <AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
  </Target>
  <ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
        <WebProjectProperties>
          <UseIIS>True</UseIIS>
          <AutoAssignPort>True</AutoAssignPort>
          <DevelopmentServerPort>49435</DevelopmentServerPort>
          <DevelopmentServerVPath>/</DevelopmentServerVPath>
          <IISUrl>http://localhost:61911/</IISUrl>
          <NTLMAuthentication>False</NTLMAuthentication>
          <UseCustomServer>False</UseCustomServer>
          <CustomServerUrl>
          </CustomServerUrl>
          <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
        </WebProjectProperties>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
       Other similar extension points exist, see Microsoft.Common.targets.
  <Target Name="BeforeBuild">
  </Target>
  <Target Name="AfterBuild">
  </Target> -->
</Project>
DKroot commented 9 years ago

I tracked down the issue to building project from a parent directory:

projectFile = 'src/main/asp.net/NIHiReport/iReport.Service/iReport.Service.csproj'

If I go down and run Gradle from the C# project dir., everything works with plug-in v2.3.

I have a different issue BTW, which might have the same cause. How can I tell MSBuild to run from a specific working directory? I'm looking into that now.

banderous commented 9 years ago

@DKroot I believe you want to declare your 'projectFile' inside a file declaration, so that gradle will interpret it relative to your project root and not your current working directory;

projectFile = file('src/main/asp.net/NIHiReport/iReport.Service/iReport.Service.csproj')

DKroot commented 9 years ago

That worked very nicely, thanks!