Xamarin.Android using a java binding library with MultiImageChooser - xamarin.android

I've tried using a Java Binding Library in order to use MultiImageChooser (https://github.com/derosa/MultiImageChooser).
These are the steps I've taken :
Loaded the MultiImageChooser project in eclipse and exported a gallery.jar.
Created a Java Binding Library project in my solution, in Visual Studio.
Added gallery.jar to "Jars" and changed its type to "EmbeddedJar".
Added the reference jars (universal-image-loader-1.8.0.jar and android-support-v4.jar) and changed their type to "EmbeddedReferenceJar".
Added to Metadata.xml a transform in order to pass compilation (covariant return type) :
attr
path="/api/package[#name='com.luminous.pick']/class[#name='GalleryAdapter']/method[#name='getItem']" name="managedReturn">
Java.Lang.Object
/attr
It passes compliation, but the BuildApk task fails with System.ArgumentException : An item with the same key has already been added.
(_BuildApkFastDev target) ->
C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1132,3): error MSB4018: The "BuildApk" task failed unexpectedly. [C:\awork\TestClientNG\TestAndroidApp\TestAndroidApp.csproj]
C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1132,3): error MSB4018: System.ArgumentException: An item with the same key has already been added. [C:\awork\TestClientNG\TestAndroidApp\TestAndroidApp.csproj]
C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1132,3): error MSB4018: at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) [C:\awork\TestClientNG\TestAndroidApp\TestAndroidApp.csproj]
C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1132,3): error MSB4018: at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) [C:\awork\TestClientNG\TestAndroidApp\TestAndroidApp.csproj]
C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1132,3): error MSB4018: at Ionic.Zip.ZipFile.InternalAddEntry(ZipEntry ze) [C:\awork\TestClientNG\TestAndroidApp\TestAndroidApp.csproj]
C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1132,3): error MSB4018: at Ionic.Zip.ZipFile.AddEntry(String entryName, Stream stream) [C:\awork\TestClientNG\TestAndroidApp\TestAndroidApp.csproj]
C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1132,3): error MSB4018: at Ionic.Zip.ZipFile.AddEntry(String entryName, Byte[] byteContent) [C:\awork\TestClientNG\TestAndroidApp\TestAndroidApp.csproj]
C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1132,3): error MSB4018: at Xamarin.Android.Tasks.BuildApk.Execute() [C:\awork\TestClientNG\TestAndroidApp\TestAndroidApp.csproj]
C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1132,3): error MSB4018: at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() [C:\awork\TestClientNG\TestAndroidApp\TestAndroidApp.csproj]
C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1132,3): error MSB4018: at Microsoft.Build.BackEnd.TaskBuilder.d_20.MoveNext() [C:\awork\TestClientNG\TestAndroidApp\TestAndroidApp.csproj]
Any idea how to debug or continue with this?

Good thing you listed the exact steps you performed, I was stuck with the same issue and was breaking my head all night.
The problem has to do with the jar you built in eclipse. When exporting to jar make sure to uncheck all the additional project files like .classpath, .project, pom.xml, project.properties and particularly AndroidManifest.xml. Since these made their way into the jar, there ended up being two android manifest files resulting in the error you are seeing.

Related

Xamarin.Android Linking problem - Error processing method System.String

I have a Xamarin Android app that compiles and runs fine in DEBUG mode but won't compile in RELEASE mode.
The error that I'm getting is:
Mono.Linker.MarkException: Error processing method: 'System.String Microsoft.CodeAnalysis.SQLite.Interop.NativeMethods::sqlite3_errmsg(Microsoft.CodeAnalysis.SQLite.Interop.SafeSqliteHandle)' in assembly: 'Microsoft.CodeAnalysis.Workspaces.dll' ---> Mono.Cecil.ResolutionException: Failed to resolve System.String SQLitePCL.raw::sqlite3_errmsg(SQLitePCL.sqlite3)
at Mono.Linker.Steps.MarkStep.HandleUnresolvedMethod(MethodReference reference)
at Mono.Linker.Steps.MarkStep.MarkMethod(MethodReference reference)
at Mono.Linker.Steps.MarkStep.MarkInstruction(Instruction instruction)
at Mono.Linker.Steps.MarkStep.MarkMethodBody(MethodBody body)
at Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method)
at Mono.Linker.Steps.MarkStep.ProcessQueue()
--- End of inner exception stack trace ---
at Mono.Linker.Steps.MarkStep.ProcessQueue()
at Mono.Linker.Steps.MarkStep.ProcessPrimaryQueue()
at Mono.Linker.Steps.MarkStep.Process()
at Mono.Linker.Steps.MarkStep.Process(LinkContext context)
at MonoDroid.Tuner.MonoDroidMarkStep.Process(LinkContext context)
at Mono.Linker.Pipeline.ProcessStep(LinkContext context, IStep step)
at Mono.Linker.Pipeline.Process(LinkContext context)
at MonoDroid.Tuner.Linker.Process(LinkerOptions options, ILogger logger, LinkContext& context)
at Xamarin.Android.Tasks.LinkAssemblies.Execute(DirectoryAssemblyResolver res)
at Xamarin.Android.Tasks.LinkAssemblies.RunTask()
at Xamarin.Android.Tasks.AndroidTask.Execute() MedLemnMobile.Android C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Legacy.targets 366
I've tried "Skip Linking" for Microsoft.CodeAnalysis.Workspaces.dll
I've tried "Skip Linking" for SQLitePCLRaw.core
Neither of the above tries at "Skip Linking" fixed the problem.
The app compiles fine if I set Linking to "None", but that is not recommended for RELEASE mode.
Any help would be greatly appreciated.
2/22/2021 - I turned up the verbosity on the Build Output and did a search for System.String. Here's what I found:
Activator call 'System.Object System.Reflection.Assembly::CreateInstance(System.String)' inside 'System.ValueTuple`2<System.Int32,System.Reflection.MethodInfo> CompilerClassLibNETStandard.Compiler::CompileInMemory(System.String)' is not yet supported (TaskId:466)
5> Reflection call 'System.Reflection.FieldInfo System.Type::GetField(System.String,System.Reflection.BindingFlags)' inside 'Xamarin.Forms.BindableProperty Xamarin.Forms.VisualElement::Xamarin.Forms.StyleSheets.IStylable.GetProperty(System.String,System.Boolean)' was detected with argument which cannot be analyzed (TaskId:466)
5> Reflection call 'System.Type System.Type::GetType(System.String)' inside 'System.Void MedLemnMobile.ViewModels.GraphViewModel::MethodBeginModeReduce(System.String)' was detected with type name `MedLemnMobile.Classes.` which can't be resolved. (TaskId:466)
5> Activator call 'System.Object System.Activator::CreateInstance(System.Type)' inside 'System.Void MedLemnMobile.ViewModels.GraphViewModel::MethodBeginModeReduce(System.String)' was detected with 1st argument expression which cannot be analyzed (TaskId:466)
5> Expression call 'System.Linq.Expressions.MemberExpression System.Linq.Expressions.Expression::Property(System.Linq.Expressions.Expression,System.Reflection.MethodInfo)' inside 'System.Void MedLemnMobile.ValidRules.ValidatableObject`1::set_IsValid(System.Boolean)' was detected with 2nd argument which cannot be analyzed (TaskId:466)
5> Expression call 'System.Linq.Expressions.MemberExpression System.Linq.Expressions.Expression::Property(System.Linq.Expressions.Expression,System.Reflection.MethodInfo)' inside 'System.Void MedLemnMobile.ValidRules.ValidatableObject`1::a(System.Collections.Generic.List`1<System.String>)' was detected with 2nd argument which cannot be analyzed (TaskId:466)
5> Expression call 'System.Linq.Expressions.MemberExpression System.Linq.Expressions.Expression::Property(System.Linq.Expressions.Expression,System.Reflection.MethodInfo)' inside 'System.Void MedLemnMobile.ValidRules.ValidatableObject`1::set_Value(T)' was detected with 2nd argument which cannot be analyzed (TaskId:466)
5> Activator call 'System.Object System.Activator::CreateInstance(System.Type,System.Object[])' inside 'System.Void MedLemnMobile.Classes.Utils/a::MoveNext()' was detected with 1st argument expression which cannot be analyzed (TaskId:466)
5> Reflection call 'System.Type System.Type::GetType(System.String)' inside 'System.Object Xamarin.Forms.BindablePropertyConverter::ConvertFromInvariantString(System.String)' was detected with type name `Xamarin.Forms.` which can't be resolved. (TaskId:466)
5> Expression call 'System.Linq.Expressions.MethodCallExpression System.Linq.Expressions.Expression::Call(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression)' inside 'System.Void MedLemnMobile.Behaviors.EventToCommandBehavior::a(System.Reflection.EventInfo,System.Object,System.Action`2<System.Object,System.EventArgs>)' was detected with 1st argument which cannot be analyzed (TaskId:466)
5> Reflection call 'System.Type System.Type::GetType(System.String)' inside 'System.Type Java.Interop.__TypeRegistrations::Lookup(System.String[],System.String)' was detected with argument which cannot be analyzed (TaskId:466)
5> Reflection call 'System.Reflection.MethodInfo System.Reflection.RuntimeReflectionExtensions::GetRuntimeMethod(System.Type,System.String,System.Type[])' inside 'System.String Humanizer.EnumHumanizeExtensions::GetCustomDescription(System.Reflection.MemberInfo)' does not use detectable instance type extraction (TaskId:466)
5> Reflection call 'System.Reflection.MethodInfo System.Reflection.RuntimeReflectionExtensions::GetRuntimeMethod(System.Type,System.String,System.Type[])' inside 'System.String Humanizer.EnumHumanizeExtensions::GetCustomDescription(System.Reflection.MemberInfo)' does not use detectable instance type extraction (TaskId:466)
5> Reflection call 'System.Reflection.FieldInfo System.Type::GetField(System.String,System.Reflection.BindingFlags)' inside 'System.Void Microsoft.CodeAnalysis.CSharp.Shared.Lightup.NullableSyntaxAnnotationEx::.cctor()' does not use detectable instance type extraction (TaskId:466)
5> Reflection call 'System.Reflection.FieldInfo System.Type::GetField(System.String,System.Reflection.BindingFlags)' inside 'System.Void Microsoft.CodeAnalysis.CSharp.Shared.Lightup.NullableSyntaxAnnotationEx::.cctor()' does not use detectable instance type extraction (TaskId:466)
5> Reflection call 'System.Type System.Type::GetType(System.String,System.Boolean)' inside 'System.Type Roslyn.Utilities.ReflectionUtilities::TryGetType(System.String)' was detected with argument which cannot be analyzed (TaskId:466)
5> Reflection call 'System.Type System.Type::GetType(System.String)' inside 'System.Boolean Roslyn.Utilities.UICultureUtilities::TryGetCurrentUICultureSetter(System.Action`1<System.Globalization.CultureInfo>&)' was detected with type name `System.Globalization.CultureInfo, System.Globalization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a` which can't be resolved. (TaskId:466)
5> Reflection call 'System.Type System.Type::GetType(System.String)' inside 'System.Type Roslyn.Utilities.ObjectReader::ReadType()' was detected with argument which cannot be analyzed (TaskId:466)
5> Activator call 'System.Object System.Activator::CreateInstance(System.Type)' inside 'System.Object Microsoft.DiaSymReader.SymUnmanagedFactory::CreateObject(System.Boolean,System.Boolean,System.Boolean,System.String&,System.Exception&)' was detected with 1st argument expression which cannot be analyzed (TaskId:466)
5> Activator call 'T System.Activator::CreateInstance()' inside 'T Microsoft.CodeAnalysis.DecodeWellKnownAttributeArguments`3::GetOrCreateData()' is not supported (TaskId:466)
5> Activator call 'T System.Activator::CreateInstance()' inside 'T Microsoft.CodeAnalysis.EarlyDecodeWellKnownAttributeArguments`4::GetOrCreateData()' is not supported (TaskId:466)
5> Activator call 'T System.Activator::CreateInstance()' inside 'System.Void Microsoft.CodeAnalysis.Diagnostics.AnalysisState/BlockAnalyzerStateData`2::.ctor()' is not supported (TaskId:466)
5> Activator call 'System.Object System.Activator::CreateInstance(System.Type)' inside 'System.Collections.Immutable.ImmutableArray`1<TExtension> Microsoft.CodeAnalysis.Diagnostics.AnalyzerFileReference/Extensions`1::GetAnalyzersForTypeNames(System.Reflection.Assembly,System.Collections.Generic.IEnumerable`1<System.String>,System.Boolean&)' was detected with 1st argument expression which cannot be analyzed (TaskId:466)
5> Reflection call 'System.Type System.Type::GetType(System.String)' inside 'System.Type Roslyn.Utilities.ObjectReader::ReadType()' was detected with argument which cannot be analyzed (TaskId:466)
5> Reflection call 'System.Type System.Type::GetType(System.String,System.Boolean)' inside 'System.Type Roslyn.Utilities.ReflectionUtilities::TryGetType(System.String)' was detected with argument which cannot be analyzed (TaskId:466)
5> Activator call 'T System.Activator::CreateInstance()' inside 'System.Void Roslyn.Utilities.IDictionaryExtensions::MultiAdd(System.Collections.Generic.IDictionary`2<TKey,TCollection>,TKey,TValue)' is not supported (TaskId:466)
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Legacy.targets(366,5): error XALNK7000: Mono.Linker.MarkException: Error processing method: 'System.String Microsoft.CodeAnalysis.SQLite.Interop.NativeMethods::sqlite3_errmsg(Microsoft.CodeAnalysis.SQLite.Interop.SafeSqliteHandle)' in assembly: 'Microsoft.CodeAnalysis.Workspaces.dll' ---> Mono.Cecil.ResolutionException: Failed to resolve System.String SQLitePCL.raw::sqlite3_errmsg(SQLitePCL.sqlite3)
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Legacy.targets(366,5): error XALNK7000: at Mono.Linker.Steps.MarkStep.HandleUnresolvedMethod(MethodReference reference)
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Legacy.targets(366,5): error XALNK7000: at Mono.Linker.Steps.MarkStep.MarkMethod(MethodReference reference)
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Legacy.targets(366,5): error XALNK7000: at Mono.Linker.Steps.MarkStep.MarkInstruction(Instruction instruction)
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Legacy.targets(366,5): error XALNK7000: at Mono.Linker.Steps.MarkStep.MarkMethodBody(MethodBody body)
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Legacy.targets(366,5): error XALNK7000: at Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method)
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Legacy.targets(366,5): error XALNK7000: at Mono.Linker.Steps.MarkStep.ProcessQueue()
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Legacy.targets(366,5): error XALNK7000: --- End of inner exception stack trace ---
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Legacy.targets(366,5): error XALNK7000: at Mono.Linker.Steps.MarkStep.ProcessQueue()
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Legacy.targets(366,5): error XALNK7000: at Mono.Linker.Steps.MarkStep.ProcessPrimaryQueue()
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Legacy.targets(366,5): error XALNK7000: at Mono.Linker.Steps.MarkStep.Process()
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Legacy.targets(366,5): error XALNK7000: at Mono.Linker.Steps.MarkStep.Process(LinkContext context)
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Legacy.targets(366,5): error XALNK7000: at MonoDroid.Tuner.MonoDroidMarkStep.Process(LinkContext context)
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Legacy.targets(366,5): error XALNK7000: at Mono.Linker.Pipeline.ProcessStep(LinkContext context, IStep step)
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Legacy.targets(366,5): error XALNK7000: at Mono.Linker.Pipeline.Process(LinkContext context)
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Legacy.targets(366,5): error XALNK7000: at MonoDroid.Tuner.Linker.Process(LinkerOptions options, ILogger logger, LinkContext& context)
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Legacy.targets(366,5): error XALNK7000: at Xamarin.Android.Tasks.LinkAssemblies.Execute(DirectoryAssemblyResolver res)
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Legacy.targets(366,5): error XALNK7000: at Xamarin.Android.Tasks.LinkAssemblies.RunTask()
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Legacy.targets(366,5): error XALNK7000: at Xamarin.Android.Tasks.AndroidTask.Execute()
5>Done executing task "LinkAssemblies" -- FAILED. (TaskId:466)
5>Done building target "_LinkAssembliesShrink" in project "MedLemnMobile.Android.csproj" -- FAILED.: (TargetId:492)
SUCCESS! I got it to work as follows:
1.) I discovered that setting Linking to "Sdk and User Assemblies" got the app to build OK, but then, when it ran, the user interface didn't behave well.
2.) So then, I added to my "Skip Linking" list, the name of my main Xamarin.Forms shared-code project.
And, thank goodness, that got it to build and run cleanly!
I tried clearing bin and obj, did many things and no help. In the end I turned off the "Multi-Dex" in my Android Property for it to compile. Below are my settings.

References to NuGet packages cannot be resolved in F# project being built in VSTS

With Visual Studio 2017 Community I have created a solution with a F# library project (regular, not PCL) targeting the .NET 4.5.2 framework and the F# 4.1 (FSharp.Core, 4.4.1.0) runtime. Visual Studio added for me the NuGet reference to System.ValueType (4.3.0) by default.
The only code in this project is the following which is using System.ValueType:
type TupleCreator() =
member this.Create x =
System.ValueTuple.Create(x)
Building the project locally works fine, unfortunately this is not the case with VSTS. I have a build definition (with default agent queue set to Hosted VS2017) with a NuGet restore step and a build solution step (with Visual Studio Version set to Latest).
When the build runs it succeeds in restoring the nuget packages:
##[section]Starting: NuGet restore **\*.sln
=================================================================
Task : NuGet Installer
Description : Installs or restores missing NuGet packages
Version : 0.2.31
Author : Microsoft Corporation
=================================================================
[command]C:\Windows\system32\chcp.com 65001
Active code page: 65001
Detected NuGet version 3.3.0.212 / 3.3.0
SYSTEMVSSCONNECTION exists true
To connect to NuGet feeds hosted in your Team Services account/TFS project collection on this build agent, edit your build definition to choose a higher version of nuget or specify a path to a NuGet.config containing the package sources you wish to use.
[command]d:\a\_tasks\NuGetInstaller_333b11bd-d341-40d9-afcf-b32d5ce6f23b\0.2.31\node_modules\nuget-task-common\NuGet\3.3.0\NuGet.exe restore -NonInteractive d:\a\3\s\Apps\Sandbox\FSharpWithNugetDemo\FSharpWithNugetDemo.sln
MSBuild auto-detection: using msbuild version '4.0' from 'C:\Windows\Microsoft.NET\Framework\v4.0.30319'.
Feeds used:
C:\Users\buildguest\AppData\Local\NuGet\Cache
https://api.nuget.org/v3/index.json
Restoring NuGet package System.ValueTuple.4.3.0.
Adding package 'System.ValueTuple.4.3.0' to folder 'd:\a\3\s\Apps\Sandbox\FSharpWithNugetDemo\packages'
Added package 'System.ValueTuple.4.3.0' to folder 'd:\a\3\s\Apps\Sandbox\FSharpWithNugetDemo\packages'
##[section]Finishing: NuGet restore **\*.sln
The build step then yields the following log:
##[section]Starting: Build solution $/tfs1/Apps/Sandbox/FSharpWithNugetDemo/FSharpWithNugetDemo.sln
==============================================================================
Task : Visual Studio Build
Description : Build with MSBuild and set the Visual Studio version property
Version : 1.117.0
Author : Microsoft Corporation
Help : [More Information](https://go.microsoft.com/fwlink/?LinkID=613727)
==============================================================================
##[command]"D:\a\_tasks\VSBuild_71a9a2d3-a98a-4caa-96ab-affca411ecda\1.117.0\ps_modules\MSBuildHelpers\vswhere.exe" -version [15.0,15.1) -latest -format json
##[command]"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\msbuild.exe" "d:\a\3\s\Apps\Sandbox\FSharpWithNugetDemo\FSharpWithNugetDemo.sln" /nologo /nr:false /dl:CentralLogger,"D:\a\_tasks\VSBuild_71a9a2d3-a98a-4caa-96ab-affca411ecda\1.117.0\ps_modules\MSBuildHelpers\Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll";"RootDetailId=d08ecee6-b628-4743-9e80-d31a64026956|SolutionDir=d:\a\3\s\Apps\Sandbox\FSharpWithNugetDemo"*ForwardingLogger,"D:\a\_tasks\VSBuild_71a9a2d3-a98a-4caa-96ab-affca411ecda\1.117.0\ps_modules\MSBuildHelpers\Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll" /p:TreatWarningsAsErrors=False /p:platform="any cpu" /p:configuration="debug" /p:VisualStudioVersion="15.0" /p:_MSDeployUserAgent="VSTS_1e91f890-819e-4329-aa62-069b62ae16d0_build_4_116"
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
Build started 5/24/2017 6:32:52 PM.
Project "d:\a\3\s\Apps\Sandbox\FSharpWithNugetDemo\FSharpWithNugetDemo.sln" on node 1 (default targets).
ValidateSolutionConfiguration:
Building solution configuration "debug|any cpu".
Project "d:\a\3\s\Apps\Sandbox\FSharpWithNugetDemo\FSharpWithNugetDemo.sln" (1) is building "d:\a\3\s\Apps\Sandbox\FSharpWithNugetDemo\FSharpWithNugetDemo.fsproj" (2) on node 1 (default targets).
PrepareForBuild:
Creating directory "bin\Debug\".
Creating directory "obj\Debug\".
ResolveAssemblyReferences:
Primary reference "System.ValueTuple".
##[warning]C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(1964,5): Warning MSB3245: Could not resolve this reference. Could not locate the assembly "System.ValueTuple". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(1964,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "System.ValueTuple". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [d:\a\3\s\Apps\Sandbox\FSharpWithNugetDemo\FSharpWithNugetDemo.fsproj]
For SearchPath "{HintPathFromItem}".
Considered "..\..\Sandbox (local)\packages\System.ValueTuple.4.3.0\lib\netstandard1.0\System.ValueTuple.dll", but it didn't exist.
For SearchPath "{TargetFrameworkDirectory}".
Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.ValueTuple.winmd", but it didn't exist.
Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.ValueTuple.dll", but it didn't exist.
Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.ValueTuple.exe", but it didn't exist.
.
.
.
Considered "bin\Debug\System.ValueTuple.exe", but it didn't exist.
CoreCompile:
C:\Program Files (x86)\Microsoft SDKs\F#\4.1\Framework\v4.0\fsc.exe -o:obj\Debug\FSharpWithNugetDemo.dll
-g
--debug:full
--noframework
--define:DEBUG
--define:TRACE
--doc:bin\Debug\FSharpWithNugetDemo.XML
--optimize-
--tailcalls-
-r:C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\.NETFramework\v4.0\4.4.1.0\FSharp.Core.dll
-r:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\mscorlib.dll
-r:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Core.dll
-r:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.dll
-r:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Numerics.dll
--target:library
--warn:3
--warnaserror:76
--fullpaths
--flaterrors
--subsystemversion:6.00
--highentropyva+
d:\a\_temp\.NETFramework,Version=v4.5.2.AssemblyAttributes.fs
AssemblyInfo.fs
Library1.fs
##[error]Apps\Sandbox\FSharpWithNugetDemo\Library1.fs(5,12): Error FS0039: The value, constructor, namespace or type 'ValueTuple' is not defined. Maybe you want one of the following: ValueType
d:\a\3\s\Apps\Sandbox\FSharpWithNugetDemo\Library1.fs(5,12): error FS0039: The value, constructor, namespace or type 'ValueTuple' is not defined. Maybe you want one of the following: ValueType [d:\a\3\s\Apps\Sandbox\FSharpWithNugetDemo\FSharpWithNugetDemo.fsproj]
Done Building Project "d:\a\3\s\Apps\Sandbox\FSharpWithNugetDemo\FSharpWithNugetDemo.fsproj" (default targets) -- FAILED.
Done Building Project "d:\a\3\s\Apps\Sandbox\FSharpWithNugetDemo\FSharpWithNugetDemo.sln" (default targets) -- FAILED.
Build FAILED.
"d:\a\3\s\Apps\Sandbox\FSharpWithNugetDemo\FSharpWithNugetDemo.sln" (default target) (1) ->
"d:\a\3\s\Apps\Sandbox\FSharpWithNugetDemo\FSharpWithNugetDemo.fsproj" (default target) (2) ->
(ResolveAssemblyReferences target) ->
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(1964,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "System.ValueTuple". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [d:\a\3\s\Apps\Sandbox\FSharpWithNugetDemo\FSharpWithNugetDemo.fsproj]
"d:\a\3\s\Apps\Sandbox\FSharpWithNugetDemo\FSharpWithNugetDemo.sln" (default target) (1) ->
"d:\a\3\s\Apps\Sandbox\FSharpWithNugetDemo\FSharpWithNugetDemo.fsproj" (default target) (2) ->
(CoreCompile target) ->
d:\a\3\s\Apps\Sandbox\FSharpWithNugetDemo\Library1.fs(5,12): error FS0039: The value, constructor, namespace or type 'ValueTuple' is not defined. Maybe you want one of the following: ValueType [d:\a\3\s\Apps\Sandbox\FSharpWithNugetDemo\FSharpWithNugetDemo.fsproj]
1 Warning(s)
1 Error(s)
Time Elapsed 00:00:06.14
##[error]Process 'msbuild.exe' exited with code '1'.
This is not an issue with System.ValueType because the build process is unable to build with references to any nuget packages. This is also not an issue with my VSTS because my C# projects with NuGet references get built fine.
What is wrong with my F# project? Are there additional steps to be taken in order to enable NuGet in F# projects on VSTS?
EDIT
I just compared the output of the CoreCompile section with what is printed in Visual Studio. In Visual Studio it says:
C:\Program Files (x86)\Microsoft SDKs\F#\4.1\Framework\v4.0\fsc.exe -o:obj\Debug\FSharpWithNugetDemo.dll
-g
--debug:full
--noframework
--define:DEBUG
--define:TRACE
--doc:bin\Debug\FSharpWithNugetDemo.XML
--optimize-
--tailcalls-
-r:C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\.NETFramework\v4.0\4.4.1.0\FSharp.Core.dll
-r:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\mscorlib.dll
-r:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Core.dll
-r:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.dll
-r:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Numerics.dll
-r:D:\Projects\Sandbox\packages\System.ValueTuple.4.3.0\lib\netstandard1.0\System.ValueTuple.dll
.
.
.
--target:library
--warn:3
--warnaserror:76
--vserrors
--utf8output
--fullpaths
--flaterrors
--subsystemversion:6.00
--highentropyva+
C:\Users\David\AppData\Local\Temp\.NETFramework,Version=v4.5.2.AssemblyAttributes.fs
AssemblyInfo.fs
Library1.fs
FSharpWithNugetDemo -> D:\Projekte\VisualStudio.com\sphereutfs\Dev\Apps\Sandbox\FSharpWithNugetDemo\bin\Debug\FSharpWithNugetDemo.dll
The difference is that there is a -r: line with a path to the System.ValueTuple.dll obtained from NuGet which is missing in the log of the VSTS build. How can I tell the VSTS build to include this reference when compiling?
This is caused the setting in your FSharpWithNugetDemo.fsproj file. You set the path for System.ValueTuple as your local path:
<Reference Include="System.ValueTuple">
<HintPath>..\..\Sandbox (local)\packages\System.ValueTuple.4.3.0\lib\netstandard1.0\System.ValueTuple.dll</HintPath>
</Reference>
It should be use relate path so that when it build by VSTS, System.ValueTuple will be searched in $(build.sourcesdirectory):
<Reference Include="System.ValueTuple">
<HintPath>..\packages\System.ValueTuple.4.3.0\lib\netstandard1.0\System.ValueTuple.dll</HintPath>
</Reference>

Build issue when using package restore in Team Foundation Service

I'm trying Microsoft Team Foundation Service ( the Cloud TFS ) and using automated hosted build and package restore.
It always fails, but according to log it seems that the package restore works fine but it's a problem when locating the binaries we got through the package restore, it's like it doesn't look into the right folder.
LOG:
Build started 4/9/2013 10:24:37 AM.
Project "C:\a\src\ValuePlan.Client.sln" on node 1 (default targets).
ValidateSolutionConfiguration:
Building solution configuration "Release|x86".
Project "C:\a\src\ValuePlan.Client.sln" (1) is building "C:\a\src\VP\VP.csproj" (2) on node 1 (default targets).
RestorePackages:
"C:\a\src\.nuget\nuget.exe" install "C:\a\src\VP\packages.config" -source "" -o "C:\a\src\packages"
Successfully installed 'Autofac 2.6.3.862'.
Successfully installed 'Caliburn.Micro 1.3.1'.
PrepareForBuild:
Creating directory "obj\x86\Release\".
Project "C:\a\src\VP\VP.csproj" (2) is building "C:\a\src\VpUserControls\VpUserControls.csproj" (3) on node 1 (default targets).
RestorePackages:
"C:\a\src\.nuget\nuget.exe" install "C:\a\src\VpUserControls\packages.config" -source "" -o "C:\a\src\packages"
All packages listed in packages.config are already installed.
PrepareForBuild:
Creating directory "obj\Release\".
ResolveAssemblyReferences:
A TargetFramework profile exclusion list will be generated.
Primary reference "Caliburn.Micro".
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1578,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Caliburn.Micro". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\a\src\VpUserControls\VpUserControls.csproj]
For SearchPath "C:\a\src\VpUserControls\FakesAssemblies".
Considered "C:\a\src\VpUserControls\FakesAssemblies\Caliburn.Micro.winmd", but it didn't exist.
Considered "C:\a\src\VpUserControls\FakesAssemblies\Caliburn.Micro.dll", but it didn't exist.
Considered "C:\a\src\VpUserControls\FakesAssemblies\Caliburn.Micro.exe", but it didn't exist.
For SearchPath "{HintPathFromItem}".
Considered "..\..\CL_WIN\packages\Caliburn.Micro.1.3.1\lib\net40\Caliburn.Micro.dll", but it didn't exist.
For SearchPath "{TargetFrameworkDirectory}".
Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\Client\Caliburn.Micro.winmd", but it didn't exist.
Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\Client\Caliburn.Micro.dll", but it didn't exist.
Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\Client\Caliburn.Micro.exe", but it didn't exist.
For SearchPath "{Registry:Software\Microsoft\.NETFramework,v4.0,AssemblyFoldersEx}".
Considered AssemblyFoldersEx locations.
For SearchPath "{AssemblyFolders}".
Considered "C:\Program Files\Microsoft.NET\ADOMD.NET\100\Caliburn.Micro.winmd", but it didn't exist.
Considered "C:\Program Files\Microsoft.NET\ADOMD.NET\100\Caliburn.Micro.dll", but it didn't exist.
Considered "C:\Program Files\Microsoft.NET\ADOMD.NET\100\Caliburn.Micro.exe", but it didn't exist.
Considered "C:\Program Files\Microsoft SQL Server\110\SDK\Assemblies\Caliburn.Micro.winmd", but it didn't exist.
Considered "C:\Program Files\Microsoft SQL Server\110\SDK\Assemblies\Caliburn.Micro.dll", but it didn't exist.
Considered "C:\Program Files\Microsoft SQL Server\110\SDK\Assemblies\Caliburn.Micro.exe", but it didn't exist.
Considered "C:\Program Files\Microsoft SQL Server\100\DTS\Tasks\Caliburn.Micro.winmd", but it didn't exist.
Considered "C:\Program Files\Microsoft SQL Server\100\DTS\Tasks\Caliburn.Micro.dll", but it didn't exist.
Considered "C:\Program Files\Microsoft SQL Server\100\DTS\Tasks\Caliburn.Micro.exe", but it didn't exist.
Considered "C:\Program Files\IIS\Microsoft Web Deploy V3\Caliburn.Micro.winmd", but it didn't exist.
Considered "C:\Program Files\IIS\Microsoft Web Deploy V3\Caliburn.Micro.dll", but it didn't exist.
Considered "C:\Program Files\IIS\Microsoft Web Deploy V3\Caliburn.Micro.exe", but it didn't exist.
Considered "C:\Program Files\Microsoft SQL Server\100\DTS\PipelineComponents\Caliburn.Micro.winmd", but it didn't exist.
Considered "C:\Program Files\Microsoft SQL Server\100\DTS\PipelineComponents\Caliburn.Micro.dll", but it didn't exist.
Considered "C:\Program Files\Microsoft SQL Server\100\DTS\PipelineComponents\Caliburn.Micro.exe", but it didn't exist.
Considered "C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\Caliburn.Micro.winmd", but it didn't exist.
Considered "C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\Caliburn.Micro.dll", but it didn't exist.
Considered "C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\Caliburn.Micro.exe", but it didn't exist.
Considered "C:\Program Files\Microsoft SQL Server\100\DTS\ForEachEnumerators\Caliburn.Micro.winmd", but it didn't exist.
Considered "C:\Program Files\Microsoft SQL Server\100\DTS\ForEachEnumerators\Caliburn.Micro.dll", but it didn't exist.
Considered "C:\Program Files\Microsoft SQL Server\100\DTS\ForEachEnumerators\Caliburn.Micro.exe", but it didn't exist.
For SearchPath "{GAC}".
Considered "Caliburn.Micro", which was not found in the GAC.
For SearchPath "{RawFileName}".
Considered treating "Caliburn.Micro" as a file name, but it didn't exist.
For SearchPath "C:\a\bin\".
Considered "C:\a\bin\Caliburn.Micro.winmd", but it didn't exist.
Considered "C:\a\bin\Caliburn.Micro.dll", but it didn't exist.
Considered "C:\a\bin\Caliburn.Micro.exe", but it didn't exist.
Primary reference "System.Windows.Interactivity".
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1578,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "System.Windows.Interactivity". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\a\src\VpUserControls\VpUserControls.csproj]
For SearchPath "C:\a\src\VpUserControls\FakesAssemblies".
Considered "C:\a\src\VpUserControls\FakesAssemblies\System.Windows.Interactivity.winmd", but it didn't exist.
Considered "C:\a\src\VpUserControls\FakesAssemblies\System.Windows.Interactivity.dll", but it didn't exist.
Considered "C:\a\src\VpUserControls\FakesAssemblies\System.Windows.Interactivity.exe", but it didn't exist.
For SearchPath "{HintPathFromItem}".
Considered "..\..\CL_WIN\packages\Caliburn.Micro.1.3.1\lib\net40\System.Windows.Interactivity.dll", but it didn't exist.
For SearchPath "{TargetFrameworkDirectory}".
Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\Client\System.Windows.Interactivity.winmd", but it didn't exist.
Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\Client\System.Windows.Interactivity.dll", but it didn't exist.
Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\Client\System.Windows.Interactivity.exe", but it didn't exist.
For SearchPath "{Registry:Software\Microsoft\.NETFramework,v4.0,AssemblyFoldersEx}".
Considered AssemblyFoldersEx locations.
For SearchPath "{AssemblyFolders}".
Considered "C:\Program Files\Microsoft.NET\ADOMD.NET\100\System.Windows.Interactivity.winmd", but it didn't exist.
Considered "C:\Program Files\Microsoft.NET\ADOMD.NET\100\System.Windows.Interactivity.dll", but it didn't exist.
Considered "C:\Program Files\Microsoft.NET\ADOMD.NET\100\System.Windows.Interactivity.exe", but it didn't exist.
Considered "C:\Program Files\Microsoft SQL Server\110\SDK\Assemblies\System.Windows.Interactivity.winmd", but it didn't exist.
Considered "C:\Program Files\Microsoft SQL Server\110\SDK\Assemblies\System.Windows.Interactivity.dll", but it didn't exist.
Considered "C:\Program Files\Microsoft SQL Server\110\SDK\Assemblies\System.Windows.Interactivity.exe", but it didn't exist.
Considered "C:\Program Files\Microsoft SQL Server\100\DTS\Tasks\System.Windows.Interactivity.winmd", but it didn't exist.
Considered "C:\Program Files\Microsoft SQL Server\100\DTS\Tasks\System.Windows.Interactivity.dll", but it didn't exist.
Considered "C:\Program Files\Microsoft SQL Server\100\DTS\Tasks\System.Windows.Interactivity.exe", but it didn't exist.
Considered "C:\Program Files\IIS\Microsoft Web Deploy V3\System.Windows.Interactivity.winmd", but it didn't exist.
Considered "C:\Program Files\IIS\Microsoft Web Deploy V3\System.Windows.Interactivity.dll", but it didn't exist.
Considered "C:\Program Files\IIS\Microsoft Web Deploy V3\System.Windows.Interactivity.exe", but it didn't exist.
Considered "C:\Program Files\Microsoft SQL Server\100\DTS\PipelineComponents\System.Windows.Interactivity.winmd", but it didn't exist.
Considered "C:\Program Files\Microsoft SQL Server\100\DTS\PipelineComponents\System.Windows.Interactivity.dll", but it didn't exist.
Considered "C:\Program Files\Microsoft SQL Server\100\DTS\PipelineComponents\System.Windows.Interactivity.exe", but it didn't exist.
Considered "C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Windows.Interactivity.winmd", but it didn't exist.
Considered "C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Windows.Interactivity.dll", but it didn't exist.
Considered "C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Windows.Interactivity.exe", but it didn't exist.
Considered "C:\Program Files\Microsoft SQL Server\100\DTS\ForEachEnumerators\System.Windows.Interactivity.winmd", but it didn't exist.
Considered "C:\Program Files\Microsoft SQL Server\100\DTS\ForEachEnumerators\System.Windows.Interactivity.dll", but it didn't exist.
Considered "C:\Program Files\Microsoft SQL Server\100\DTS\ForEachEnumerators\System.Windows.Interactivity.exe", but it didn't exist.
For SearchPath "{GAC}".
Considered "System.Windows.Interactivity", which was not found in the GAC.
For SearchPath "{RawFileName}".
Considered treating "System.Windows.Interactivity" as a file name, but it didn't exist.
For SearchPath "C:\a\bin\".
Considered "C:\a\bin\System.Windows.Interactivity.winmd", but it didn't exist.
Considered "C:\a\bin\System.Windows.Interactivity.dll", but it didn't exist.
Considered "C:\a\bin\System.Windows.Interactivity.exe", but it didn't exist.
AssemblyFoldersEx location: "{Registry:Software\Microsoft\.NETFramework,v4.0,AssemblyFoldersEx}"
C:\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\
C:\Program Files\Reference Assemblies\Microsoft\Workflow Manager\1.0\
C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-10\ref\Caching\
C:\Program Files\Windows Azure SDK\v1.6\ServiceBus\ref\
C:\Program Files\Windows Azure SDK\v1.6\Cache\ref\
C:\Program Files (x86)\Microsoft WCF Data Services\5.0\bin\.NETFramework\
C:\Program Files (x86)\Common Files\microsoft shared\VSTT\10.0\UITestExtensionPackages
C:\Program Files\Reference Assemblies\Microsoft\VSTO40\v4.0.Framework\
C:\Program Files\Reference Assemblies\Microsoft\VSTA30\v9.0\
C:\Program Files\Reference Assemblies\Microsoft\VSTA30\v8.0\
C:\Program Files\Reference Assemblies\Microsoft\VSTA30\v10.0\
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Visual Studio Tools for Office\PIA\Office15\
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Visual Studio Tools for Office\PIA\Office14\
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Visual Studio Tools for Office\PIA\Common\
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office14\
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office12\
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Common\
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\SharePoint\PublicAssemblies\
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ReferenceAssemblies\v4.0\
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ReferenceAssemblies\v4.0\
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\x64\
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Itanium\
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\
C:\Program Files (x86)\Reference Assemblies\Microsoft\VBPowerPacks\v10.0\
C:\Program Files (x86)\Microsoft Synchronization Services\ADO.NET\v1.0
C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v3.5\Desktop
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\WorkflowActivities\
C:\Program Files (x86)\Reference Assemblies\Microsoft\SharePoint15\
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\ISAPI\
C:\Program Files (x86)\Microsoft SDKs\RIA Services\v1.0\Libraries\Server\
C:\Program Files (x86)\Microsoft Visual Studio 10.0\ReportViewer\
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies\
C:\Program Files (x86)\Microsoft.NET\Primary Interop Assemblies\
C:\Program Files (x86)\Open XML SDK\V2.5\lib
C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\2.0\Runtime\v4.0\
C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\3.0\Runtime\v4.0\Type Providers\
C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\3.0\Runtime\v4.0\
C:\Program Files (x86)\Microsoft SDKs\Expression\Extensions\FXG\Libraries\.NETFramework\v4.0\
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VSTSDB\
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v2.0\Assemblies\
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies\
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies\
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies\
C:\Program Files (x86)\Reference Assemblies\Microsoft\Windows Identity Foundation SDK\v4.0\
C:\Program Files\Reference Assemblies\Microsoft\Windows Identity Foundation\v3.5\
C:\Program Files (x86)\Microsoft Visual Studio 11.0\ReportViewer\
C:\Program Files\Reference Assemblies\Microsoft\Microsoft Identity Extensions\1.0\
C:\Program Files\Reference Assemblies\Microsoft\VSTO40\v9.0\
C:\Program Files\Reference Assemblies\Microsoft\VSTO40\v10.0\
C:\Program Files\Reference Assemblies\Microsoft\VSTA30\v9.0\
C:\Program Files\Reference Assemblies\Microsoft\VSTA30\v10.0\
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office14\
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office12\
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Common\
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\SharePoint\PublicAssemblies\
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VSSDK\VisualStudioIntegration\Common\Assemblies\v2.0\
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ReferenceAssemblies\v2.0\
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ReferenceAssemblies\v2.0\
C:\Program Files (x86)\Reference Assemblies\Microsoft\VBPowerPacks\v10.0\
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ReferenceAssemblies\v2.0\
C:\Program Files (x86)\Microsoft Synchronization Services\ADO.NET\v1.0
C:\Program Files (x86)\Microsoft SDKs\Microsoft Sync Framework\v1.0\Runtime\ADO.NET\V2.0\x64\
C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v4.0\Desktop
C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v3.5\Desktop
C:\Program Files (x86)\Reference Assemblies\Microsoft\SharePoint14\
C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-10\ref
C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-06\ref
C:\Program Files\Windows Azure SDK\v1.6\ref
C:\Program Files (x86)\Microsoft Visual Studio 10.0\ReportViewer\
C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\PublicAssemblies\
C:\Program Files (x86)\Microsoft Chart Controls\Assemblies
C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\2.0\Runtime\v2.0\
C:\Program Files (x86)\Microsoft SDKs\Microsoft Sync Framework\v1.0\Runtime\x86\
C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\3.0\Runtime\v2.0\
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Blend\
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Blend\
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 2\Assemblies\
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 1.0\Assemblies\
C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-10\ref
C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-06\ref
C:\Program Files\Windows Azure SDK\v1.6\ref
C:\a\src\VpUserControls\Views\Navigation\DimensionTreeView.xaml(13,26): error MC3072: The property 'Bind.Model' does not exist in XML namespace 'http://www.caliburnproject.org'. Line 13 Position 26. [C:\a\src\VpUserControls\VpUserControls.csproj]
C:\a\src\VpUserControls\Views\Navigation\NavigationBarView.xaml(13,33): error MC3072: The property 'View.Model' does not exist in XML namespace 'http://www.caliburnproject.org'. Line 13 Position 33. [C:\a\src\VpUserControls\VpUserControls.csproj]
C:\a\src\VpUserControls\Views\Tools\ToolBarView.xaml(22,28): error MC3072: The property 'Bind.Model' does not exist in XML namespace 'http://www.caliburnproject.org'. Line 22 Position 28. [C:\a\src\VpUserControls\VpUserControls.csproj]
C:\a\src\VpUserControls\Views\Workspace\DimensionBarsView.xaml(11,19): error MC3072: The property 'Bind.Model' does not exist in XML namespace 'http://www.caliburnproject.org'. Line 11 Position 19. [C:\a\src\VpUserControls\VpUserControls.csproj]
Done Building Project "C:\a\src\VpUserControls\VpUserControls.csproj" (default targets) -- FAILED.
Done Building Project "C:\a\src\VP\VP.csproj" (default targets) -- FAILED.
Done Building Project "C:\a\src\ValuePlan.Client.sln" (default targets) -- FAILED.
Build FAILED.
"C:\a\src\ValuePlan.Client.sln" (default target) (1) ->
"C:\a\src\VP\VP.csproj" (default target) (2) ->
"C:\a\src\VpUserControls\VpUserControls.csproj" (default target) (3) ->
(ResolveAssemblyReferences target) ->
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1578,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Caliburn.Micro". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\a\src\VpUserControls\VpUserControls.csproj]
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1578,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "System.Windows.Interactivity". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\a\src\VpUserControls\VpUserControls.csproj]
"C:\a\src\ValuePlan.Client.sln" (default target) (1) ->
"C:\a\src\VP\VP.csproj" (default target) (2) ->
"C:\a\src\VpUserControls\VpUserControls.csproj" (default target) (3) ->
(MarkupCompilePass1 target) ->
C:\a\src\VpUserControls\Views\Navigation\DimensionTreeView.xaml(13,26): error MC3072: The property 'Bind.Model' does not exist in XML namespace 'http://www.caliburnproject.org'. Line 13 Position 26. [C:\a\src\VpUserControls\VpUserControls.csproj]
C:\a\src\VpUserControls\Views\Navigation\NavigationBarView.xaml(13,33): error MC3072: The property 'View.Model' does not exist in XML namespace 'http://www.caliburnproject.org'. Line 13 Position 33. [C:\a\src\VpUserControls\VpUserControls.csproj]
C:\a\src\VpUserControls\Views\Tools\ToolBarView.xaml(22,28): error MC3072: The property 'Bind.Model' does not exist in XML namespace 'http://www.caliburnproject.org'. Line 22 Position 28. [C:\a\src\VpUserControls\VpUserControls.csproj]
C:\a\src\VpUserControls\Views\Workspace\DimensionBarsView.xaml(11,19): error MC3072: The property 'Bind.Model' does not exist in XML namespace 'http://www.caliburnproject.org'. Line 11 Position 19. [C:\a\src\VpUserControls\VpUserControls.csproj]
2 Warning(s)
4 Error(s)
Time Elapsed 00:00:18.83
Anyone have a similar problem or am I reading the log wrong and misunderstanding what's going on here.
EDIT
I'm thinking there is a possibility that the NuGet.targets file might be incorrectly set for hosted build. In the RestoreCommand part there is this -o modifier that some have reported is out of place.
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">$(MSBuildProjectDirectory)\..\</SolutionDir>
<!-- Enable the restore command to run before builds -->
<RestorePackages Condition=" '$(RestorePackages)' == '' ">false</RestorePackages>
<!-- Property that enables building a package from a project -->
<BuildPackage Condition=" '$(BuildPackage)' == '' ">false</BuildPackage>
<!-- Download NuGet.exe if it does not already exist -->
<DownloadNuGetExe Condition=" '$(DownloadNuGetExe)' == '' ">false</DownloadNuGetExe>
</PropertyGroup>
<ItemGroup Condition=" '$(PackageSources)' == '' ">
<!-- Package sources used to restore packages. By default will used the registered sources under %APPDATA%\NuGet\NuGet.Config -->
<!--
<PackageSource Include="https://nuget.org/api/v2/" />
<PackageSource Include="https://my-nuget-source/nuget/" />
-->
</ItemGroup>
<PropertyGroup Condition=" '$(OS)' == 'Windows_NT'">
<!-- Windows specific commands -->
<NuGetToolsPath>$([System.IO.Path]::Combine($(SolutionDir), ".nuget"))</NuGetToolsPath>
<PackagesConfig>$([System.IO.Path]::Combine($(ProjectDir), "packages.config"))</PackagesConfig>
<PackagesDir>$([System.IO.Path]::Combine($(SolutionDir), "packages"))</PackagesDir>
</PropertyGroup>
<PropertyGroup Condition=" '$(OS)' != 'Windows_NT'">
<!-- We need to launch nuget.exe with the mono command if we're not on windows -->
<NuGetToolsPath>$(SolutionDir).nuget</NuGetToolsPath>
<PackagesConfig>packages.config</PackagesConfig>
<PackagesDir>$(SolutionDir)packages</PackagesDir>
</PropertyGroup>
<PropertyGroup>
<!-- NuGet command -->
<NuGetExePath Condition=" '$(NuGetExePath)' == '' ">$(NuGetToolsPath)\nuget.exe</NuGetExePath>
<PackageSources Condition=" $(PackageSources) == '' ">#(PackageSource)</PackageSources>
<NuGetCommand Condition=" '$(OS)' == 'Windows_NT'">"$(NuGetExePath)"</NuGetCommand>
<NuGetCommand Condition=" '$(OS)' != 'Windows_NT' ">mono --runtime=v4.0.30319 $(NuGetExePath)</NuGetCommand>
<PackageOutputDir Condition="$(PackageOutputDir) == ''">$(TargetDir.Trim('\\'))</PackageOutputDir>
<!-- Commands -->
<RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" -o "$(PackagesDir)"</RestoreCommand>
<BuildCommand>$(NuGetCommand) pack "$(ProjectPath)" -p Configuration=$(Configuration) -o "$(PackageOutputDir)" -symbols</BuildCommand>
<!-- Make the build depend on restore packages -->
<BuildDependsOn Condition="$(RestorePackages) == 'true'">
RestorePackages;
$(BuildDependsOn);
</BuildDependsOn>
<!-- Make the build depend on restore packages -->
<BuildDependsOn Condition="$(BuildPackage) == 'true'">
$(BuildDependsOn);
BuildPackage;
</BuildDependsOn>
</PropertyGroup>
<Target Name="CheckPrerequisites">
<!-- Raise an error if we're unable to locate nuget.exe -->
<Error Condition="'$(DownloadNuGetExe)' != 'true' AND !Exists('$(NuGetExePath)')" Text="Unable to locate '$(NuGetExePath)'" />
<SetEnvironmentVariable EnvKey="VisualStudioVersion" EnvValue="$(VisualStudioVersion)" Condition=" '$(VisualStudioVersion)' != '' AND '$(OS)' == 'Windows_NT' " />
<DownloadNuGet OutputFilename="$(NuGetExePath)" Condition=" '$(DownloadNuGetExe)' == 'true' AND !Exists('$(NuGetExePath)')" />
</Target>
<Target Name="RestorePackages" DependsOnTargets="CheckPrerequisites">
<Exec Command="$(RestoreCommand)"
Condition="'$(OS)' != 'Windows_NT' And Exists('$(PackagesConfig)')" />
<Exec Command="$(RestoreCommand)"
LogStandardErrorAsError="true"
Condition="'$(OS)' == 'Windows_NT' And Exists('$(PackagesConfig)')" />
</Target>
<Target Name="BuildPackage" DependsOnTargets="CheckPrerequisites">
<Exec Command="$(BuildCommand)"
Condition=" '$(OS)' != 'Windows_NT' " />
<Exec Command="$(BuildCommand)"
LogStandardErrorAsError="true"
Condition=" '$(OS)' == 'Windows_NT' " />
</Target>
<UsingTask TaskName="DownloadNuGet" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
<ParameterGroup>
<OutputFilename ParameterType="System.String" Required="true" />
</ParameterGroup>
<Task>
<Reference Include="System.Core" />
<Using Namespace="System" />
<Using Namespace="System.IO" />
<Using Namespace="System.Net" />
<Using Namespace="Microsoft.Build.Framework" />
<Using Namespace="Microsoft.Build.Utilities" />
<Code Type="Fragment" Language="cs">
<![CDATA[
try {
OutputFilename = Path.GetFullPath(OutputFilename);
Log.LogMessage("Downloading latest version of NuGet.exe...");
WebClient webClient = new WebClient();
webClient.DownloadFile("https://nuget.org/nuget.exe", OutputFilename);
return true;
}
catch (Exception ex) {
Log.LogErrorFromException(ex);
return false;
}
]]>
</Code>
</Task>
</UsingTask>
<UsingTask TaskName="SetEnvironmentVariable" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
<ParameterGroup>
<EnvKey ParameterType="System.String" Required="true" />
<EnvValue ParameterType="System.String" Required="true" />
</ParameterGroup>
<Task>
<Using Namespace="System" />
<Code Type="Fragment" Language="cs">
<![CDATA[
try {
Environment.SetEnvironmentVariable(EnvKey, EnvValue, System.EnvironmentVariableTarget.Process);
}
catch {
}
]]>
</Code>
</Task>
</UsingTask>
So I have managed to solve this myself. There must have been something wrong with one of my NuGet packages ( Caliburn.Micro 1.3.1 ) because when I updated that package the problem disappeared. I'm guessing there was something incorrect in the way that package looked for it's own assemblies but could not be sure because I'm not an expert on how NuGet packages work.
If someone has a similar problem I recommend looking at your packages, updating them and/or contact their developers asking if there could be a problem for automatic building.

Program compiles fine in the IDE but does not compile on the command line

I'm having some trouble with one of my builds. I'm using Jenkins to build a builderXE project but I'm getting the following errors.
C:\Program Files\Embarcadero\RAD Studio\8.0\Bin\CodeGear.Cpp.Targets(2341,5): error : Error: Unresolved external '__fastcall Sqlexpr::TSQLQuery::~TSQLQuery()' referenced from C:\JENKINS\WORKSPACE\project\STRINGLOOKUPFRMCODE.OBJ
C:\Program Files\Embarcadero\RAD Studio\8.0\Bin\CodeGear.Cpp.Targets(2341,5): error : Error: Unresolved external '__fastcall Sqlexpr::TCustomSQLDataSet::~TCustomSQLDataSet()' referenced from C:\JENKINS\WORKSPACE\project\STRINGLOOKUPFRMCODE.OBJ
C:\Program Files\Embarcadero\RAD Studio\8.0\Bin\CodeGear.Cpp.Targets(2341,5): error : Error: Unresolved external '__fastcall Sqlexpr::TCustomSQLDataSet::ParamByName(const System::UnicodeString)' referenced from C:\JENKINS\WORKSPACE\project\STRINGLOOKUPFRMCODE.OBJ
C:\Program Files\Embarcadero\RAD Studio\8.0\Bin\CodeGear.Cpp.Targets(2341,5): error : Error: Unable to perform link
I read that paths could be fixed by using rsvars.bat but when I tried that nothing happens. This is what I tried.
"C:\Program Files\Embarcadero\RAD Studio\8.0\bin\rsvars.bat" MSBuild "/t:Clean;Build" "/p:config=Release" "C:\jenkins\workspace\project\myProject.cbproj"
The project compiles with no problems in builderXE but when I uses Jenkins, or just the command line I get these errors. What do I need to do to get this to work again.
UPDATE: I have updated my post with the script I'm using.
set PATH="C:\Program Files\Embarcadero\RAD Studio\8.0\lib\win32\release;C:\Program Files\Embarcadero\RAD Studio\8.0\bin;C:\Documents and Settings\All Users\Documents\RAD Studio\8.0\Bpl;C:\Program Files\Embarcadero\RAD Studio\7.0\bin;C:\Documents and Settings\All Users\Documents\RAD Studio\7.0\Bpl;C:\PROGRA~1\Serena\vm\win32\bin;C:\PROGRA~1\Serena\vm\common\bin\win32;C:\PROGRA~1\Borland\CBUILD~1\Projects\Bpl;C:\PROGRA~1\Borland\CBUILD~1\Bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Wave Systems Corp\Dell Preboot Manager\Access Client\v5\;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\tmssoftware\TMS Component Pack\bpl\;C:\Program Files\SmartBear\Automated Build Studio\bin;C:\Program Files\Mercurial;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Program Files\borland\CBuilder5\Bin;C:\Program Files\Embarcadero\RAD Studio\8.0\bin;C:\Program Files\Embarcadero\RAD Studio\7.0\bin;%IMPLIB%;%ADV%\x86;C:\Program Files\TortoiseHg\;C:\Python26;C:\Program Files\Embarcadero\RAD Studio\8.0\lib\win32\debug;"
call "C:\Program Files\Embarcadero\RAD Studio\8.0\bin\rsvars.bat"
MSBuild "C:\jenkins\workspace\project\myProject.cbproj" "/t:Clean;Build" "/p:config=Release"
In Jenkins, are you using the "Execute Windows Batch Command" to make these calls?
If so, try this:
call "C:\Program Files\Embarcadero\RAD Studio\8.0\bin\rsvars.bat"
MSBuild "/t:Clean;Build" "/p:config=Release" "C:\jenkins\workspace\project\myProject.cbproj"
The call command will run the batch file and set all the environment variables in the current session. These will then be available to your MSBuild call.
Also make sure that any dlls you need are in the current %PATH%. You can do this by:
set PATH=<your_dll_path_here>;%PATH%
This should be done right in the beginning.

Blackberry JDE 6.0 VERIFIER ERROR And KXML 2

I am trying to import kxml2, what I did is I downloaded the lib, went to Project Explorer -> Properties -> Build Path -> Libraries, I include the kxml2-2.3.0.jar. I run compile and get this error
JAR file creation failed with error -1
The preverified classes if any are in tmp25754. See jar log of errors in C:\Users\sgil\AppData\Local\Temp\rapc_1296da5f.dir\jarlog.txt
Error!: Error: preverifier failed: C:\Program Files (x86)\Eclipse-Blackberry\plugins\net.rim.ejde.componentpack6.0.0_6.0.0.30\components ...
Packaging project ** failed (took 0.795 seconds)
Error!: Error: preverifier failed: C:\Program Files (x86)\Eclipse-Blackberry\plugins\net.rim.ejde.componentpack6.0.0_6.0.0.30\components ...
Packaging project ** failed (took 0.795 seconds)
I tried running the preverifier and I got this:
preverify -classpath "C:\Program Files (x86)\Eclipse-B
lackberry\plugins\net.rim.ejde.componentpack6.0.0_6.0.0.30\components\lib\net_ri
m_api.jar" "C:\Users\sgil\Desktop\Projects\Blackberry****\lib\kxml2-2.3.0.
jar"
I get this error:
JAR file creation failed with error -1
The preverified classes if any are in tmp25503. See jar log of errors in output\
jarlog.txt
Any advice?
The solution to this is to put the correct PATH variable in the "Enviromental Variables" of the System(right click in My PC->Enviromental Variables).
If "PATH" already exists you need to add the path of the BIN of the JDK installed on the Computer.
The carpet you should add this is the bin:
for example: C:\PATH_TO_THE_INSTALLED_JDK\bin

Resources