.NET Standard 2.0 Xamarin.iOS project VSTS build issue - xamarin.ios

Currently I'm trying to upgrade a Xamarin.Forms project to use .NET Standard 2.0. This went fine for Android but I'm getting stuck with the iOS version. To build iOS we use a On-Primise MacMini as build agent int VSTS. Now I'm getting the error below when building the solution.
=================================
.... way more erros like below ...
2017-11-21T11:39:43.8920830Z ViewModels/DashboardViewModel.cs(66,35): error CS0012: The type 'Object' is defined in an assembly that is not referenced. You must add a reference to assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. [/Users/Admin/BuildAgent/_work/3/s/xxx.App/xxx.Core.csproj]
2017-11-21T11:39:43.9014700Z ViewModels/DashboardViewModel.cs(66,73): error CS0012: The type 'Object' is defined in an assembly that is not referenced. You must add a reference to assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. [/Users/Admin/BuildAgent/_work/3/s/xxx.App/xxx.Core.csproj]
2017-11-21T11:39:43.9036150Z ViewModels/DashboardViewModel.cs(66,93): error CS0012: The type 'Object' is defined in an assembly that is not referenced. You must add a reference to assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. [/Users/Admin/BuildAgent/_work/3/s/xxx.App/xxx.Core.csproj]
2017-11-21T11:39:43.9053280Z
2017-11-21T11:39:43.9083060Z 6 Warning(s)
2017-11-21T11:39:43.9107960Z 47 Error(s)
2017-11-21T11:39:43.9116100Z
2017-11-21T11:39:43.9131830Z Time Elapsed 00:00:59.23
2017-11-21T11:39:43.9327960Z ##[error]Xamarin.iOS task failed with error Error: /Library/Frameworks/Mono.framework/Versions/Current/Commands/msbuild failed with return code: 1. For guidance on setting up the build definition, see https://go.microsoft.com/fwlink/?LinkId=760847.
2017-11-21T11:39:43.9575950Z [command]/usr/bin/security delete-keychain /Users/Admin/BuildAgent/_work/3/s/_xamariniostasktmp.keychain
2017-11-21T11:39:44.2658340Z ##[section]Finishing: Build Xamarin.iOS solution xxx.sln
=================================
This output comes from the following build definition:
Now I've searched the internet and found a view possible solutions:
Update Visual Studio on the MacMini
Update XCode on the MacMini
Install .NET Core 2.x SDK on the MacMini
Add .NET Standard 2.x NuGet package to Xamarin.IOS project
Add .NET Standard Library NuGet pre-release package to Xamarin.iOS project (not possible)
Manually reference netstandard.dll to the Xamarin.iOS project
Remove install argument (not using it)
But all of this was not enough to fix the issue. Now I'm not a expert in using a Mac. Actually I never touched one before this issue... So I might have done something wrong here...
But I've been able to get some version information about all products on the MacMini:
========= Visual Studio =========
Visual Studio Community 2017 for Mac
Version 7.2.2 (build 11)
Installation UUID: b43353ef-651c-468b-8b7d-3f1714586419
Runtime:
Mono 5.4.1.6 (2017-06/1f4613aa1ac) (64-bit)
GTK+ 2.24.23 (Raleigh theme)
Package version: 504010006
NuGet
Version: 4.3.1.4445
.NET Core
Runtime: /usr/local/share/dotnet/dotnet
Runtime Version: 2.0.3
SDK: /usr/local/share/dotnet/sdk/2.0.3/Sdks
SDK Version: 2.0.3
MSBuild SDKs: /Library/Frameworks/Mono.framework/Versions/5.4.1/lib/mono/msbuild/15.0/bin/Sdks
Xamarin.Profiler
Version: 1.5.6
Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler
Xamarin.Android
Not Installed
Xamarin Inspector
Not Installed
Apple Developer Tools
Xcode 9.1 (13532)
Build 9B55
Xamarin.iOS
Version: 11.3.0.47 (Visual Studio Community)
Hash: 51128b8c
Branch: xcode9.1
Build date: 2017-10-31 22:42:13-0400
Xamarin.Mac
Xamarin.Mac not installed. Can't find /Library/Frameworks/Xamarin.Mac.framework/Versions/Current/Version.
Build Information
Release ID: 702020011
Git revision: b604c37c5a4a2f0919b45ffbe2aaad9fe040af31
Build date: 2017-11-01 08:31:43-04
Xamarin addins: d57dc14cbd4eb166ee62bab585965ab78d3650bc
Build lane: monodevelop-lion-d15-4
Operating System
Mac OS X 10.12.6
Darwin 16.7.0 Darwin Kernel Version 16.7.0
Wed Oct 4 00:17:00 PDT 2017
root:xnu-3789.71.6~1/RELEASE_X86_64 x86_64
============= XCode =============
XCode for Mac
Version 9.1 (9B55)
============= Mono ==============
Mono JIT compiler version 5.4.1.6 (2017-06/1f4613aa1ac Wed Oct 18 09:31:57 EDT 2017)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS: normal
SIGSEGV: altstack
Notification: kqueue
Architecture: amd64
Disabled: none
Misc: softdebug
LLVM: yes(3.6.0svn-mono-master/8b1520c8aae)
GC: sgen (concurrent by default)
========= .NET Core SDK =========
.NET Core SDK
Version 2.0.3
=================================
The project can be build on the MacMini itself. Only the VSTS task keeps failing...
Does someone have any idea's left which can help me solve my issue?
Kind regards,
Jop

Everything started to work fine after we manually edited the .NET Standard 2.0 project file (*.csproj) and add a PackageReference by hand.
<ItemGroup>
...
<PackageReference Include="NETStandard.Library" version="2.0.0" />
...
</ItemGroup>

Related

Are F# Anonymous Records not supported with .NET Core SDK 2.2.108 in Linux?

I am using linux (Manjaro) and .NET Core 2.2.108 and seems the F# anonymous records are not supported while it is indicated that it is the case for example here
now available with .NET Core 2.2
I have the following F# dummy project:
ConsoleApp.fsproj:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.2</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Compile Include="Program.fs"/>
</ItemGroup>
</Project>
Containing this file:
Program.fs:
[<EntryPoint>]
let main argv =
let a = {| A = "Michelle" |}
0
dotnet information:
$ dotnet --version
2.2.108
$ dotnet --list-runtimes
Microsoft.NETCore.App 2.2.6 [/opt/dotnet/shared/Microsoft.NETCore.App]
$ dotnet --list-sdks
2.2.108 [/opt/dotnet/sdk]
The compilation gives me:
$ dotnet build
Microsoft (R) Build Engine version 15.9.20.63311 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.
Restoring packages for /home/perret/Desktop/ConsoleApp/ConsoleApp/ConsoleApp.fsproj...
Generating MSBuild file /home/perret/Desktop/ConsoleApp/ConsoleApp/obj/ConsoleApp.fsproj.nuget.g.props.
Restore completed in 172.04 ms for /home/perret/Desktop/ConsoleApp/ConsoleApp/ConsoleApp.fsproj.
/home/perret/Desktop/ConsoleApp/ConsoleApp/Program.fs(3,14): error FS0010: Unexpected symbol '|' in expression [/home/perret/Desktop/ConsoleApp/ConsoleApp/ConsoleApp.fsproj]
/home/perret/Desktop/ConsoleApp/ConsoleApp/Program.fs(3,13): error FS0604: Unmatched '{' [/home/perret/Desktop/ConsoleApp/ConsoleApp/ConsoleApp.fsproj]
Build FAILED.
/home/perret/Desktop/ConsoleApp/ConsoleApp/Program.fs(3,14): error FS0010: Unexpected symbol '|' in expression [/home/perret/Desktop/ConsoleApp/ConsoleApp/ConsoleApp.fsproj]
/home/perret/Desktop/ConsoleApp/ConsoleApp/Program.fs(3,13): error FS0604: Unmatched '{' [/home/perret/Desktop/ConsoleApp/ConsoleApp/ConsoleApp.fsproj]
0 Warning(s)
2 Error(s)
Is it normal?
[EDIT]
I thought Rider did update FSharp.Core from 4.5.2 to 4.7.0 but in fact, not really:
$ sudo dotnet add ConsoleApp.fsproj package FSharp.Core -v 4.7.0
Writing /tmp/tmpBQmP0N.tmp
info : Adding PackageReference for package 'FSharp.Core' into project 'ConsoleApp.fsproj'.
log : Restoring packages for /home/perret/Desktop/ConsoleApp/ConsoleApp/ConsoleApp.fsproj...
info : Package 'FSharp.Core' is compatible with all the specified frameworks in project 'ConsoleApp.fsproj'.
error: Error while performing Update for package 'FSharp.Core'. Cannot edit items in imported files -
error: Item 'PackageReference' for 'FSharp.Core' in Imported file '/opt/dotnet/sdk/2.2.108/FSharp/Microsoft.FSharp.NetSdk.props'.
The main issue: the .NET Core SDK Version
#EhouarnPerret if I test it with dotnet sdk version 2.2.2xx, 2.2.3xx, 2.2.4xx, it works fine for me. If I change the sdk to 2.2.1xx, I get the same error as yrs.
Was partially the key.
I basically had to setup the last version available in AUR:
aspnet-runtime-preview 3.0.0+100+preview.013656-2
dotnet-host-preview 3.0.0+100+preview.013656-2
dotnet-runtime-preview 3.0.0+100+preview.013656-2
dotnet-sdk-preview 3.0.0+100+preview.013656-2
Otherwise I was stuck with the version provided in the community packages which are:
aspnet-runtime 2.2.6+108-1
dotnet-host 2.2.6+108-1
dotnet-runtime 2.2.6+108-1
dotnet-sdk 2.2.6+108-1
And there is nothing available between those two out of the box.
I also would like to point out that the version of the package didn't match the version of the SDK:
Package dotnet-sdk 2.2.6+108-1 => Actual .NET Core SDK version 2.2.108 [/opt/dotnet/sdk]
About How to update the FSharp.Core version?
By the way the issue I had about updating the FSharp.Core package to the right version came from this: https://github.com/dotnet/fsharp/issues/3656
Basically the fsproj needs to see:
<FSharpCoreImplicitPackageVersion>4.7.0</FSharpCoreImplicitPackageVersion> in <PropertyGroup>.
(With whatever version you want to have)
Updating the FSharp.Core with nuget explicitly does not work.
[EDIT]
Actually it does, it just needs a little thing, see here
<PackageReference Update="FSharp.Core" Version="4.7.0"/> is what you need to add in *.fsproj, otherwise the build will be confused about which FSharp.Core to reference. This is by design w.r.t how the SDK works.
So basically if you are using the udpate attribute like this here <PackageReference Update="FSharp.Core" Version="4.7.0"/> in <ItemGroup> it's also working.
I believe, this is actually much cleaner and standard than the previous approach.
If you don't any of those above, the version that would be used is the one "assigned" by default with the .NET Core SDK version.
| Arch Package | Actual SDK Version | Default `FSharp.Core` version |
| -----------------------------| ---------------------------- | ----------------------------- |
| `2.2.6+108-1` | `2.2.108` | `4.5.2` |
| `3.0.0+100+preview.013656-2` | `3.0.100-preview8-013656` | `4.6.2` |
So even with the package dotnet-sdk 2.2.6+108-1 and with the version 4.7.0 setup properly for FSharp.Core the anonymous records won't compile since they are part of the 4.6 language version which is not carried by the version of the SDK in that particular package version.
Does the referenced version of FSharp.Core really matter?
In conclusion I just needed to have a more recent version of the .NET Core, the version of FSharp.Core didn't really matter. As a matter of fact:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Compile Include="Program.fs" />
</ItemGroup>
<ItemGroup>
<PackageReference Update="FSharp.Core" Version="4.5.0"/>
</ItemGroup>
</Project>
and a Program.fs like below:
[<EntryPoint>]
let main argv =
let a = {| Diameter = 10; Area = 10; Circumference = 10 |}
0
Still compile while referencing the version 4.5.0 of FSharp.Core.
It seems a bit weird considering that the F# version required for anonymous records is 4.6.0: https://github.com/fsharp/fslang-design/blob/master/FSharp-4.6/FS-1030-anonymous-records.md
Now is F# language version and FSharp.Core relate to the same thing?
Not really.

Error since migrating to Unified version in Xamarin.IOS

I'm failing trying to migrate my Xamarin.IOS to use the new unified API using the automatic Xamarin Studio tools.
The solution is composed of 2 project. One PCL project and one Xamarin.IOS project that reference the PCL. When I try to build the project the following error appears:
.../FoodTruckiOS/MenuViewController.cs(10,10):
Error CS0012: The type `System.Object' is defined in an assembly that is not referenced.
Consider adding a reference to assembly `System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' (CS0012) (FoodTruckiOS)
The line that throws the error in a ViewController has:
public MenuOption menuOption { get; set;}
MenuOption is a class a created in the PCL.
My version stack is:
=== Xamarin Studio ===
Version 5.7 (build 661)
Installation UUID: 242e1f09-6bb4-4b18-9d6c-3f8ec2ebc716
Runtime:
Mono 3.12.0 ((detached/a813491)
GTK+ 2.24.23 (Raleigh theme)
Package version: 312000068
=== Apple Developer Tools ===
Xcode 6.1.1 (6611)
Build 6A2008a
=== Xamarin.Mac ===
Not Installed
=== Xamarin.iOS ===
Version: 8.2.0.207 (Indie Edition)
Hash: 3bf072d
Branch:
Build date: 2014-10-15 21:44:26-0400
=== Xamarin.Android ===
Not Installed
=== Build Information ===
Release ID: 507000661
Git revision: b70bab61da996da29045ea8ee8aed1a6faedbe78
Build date: 2015-01-05 16:31:31-05
Xamarin addins: 82f6c71490562d6cd125a09287f441902fdac3d7
=== Operating System ===
Mac OS X 10.10.1
Darwin Franciscos-Mini.lan 14.0.0 Darwin Kernel Version 14.0.0
Fri Sep 19 00:26:44 PDT 2014
root:xnu-2782.1.97~2/RELEASE_X86_64 x86_64
Any idea what is causing the problem?
That should not happen but the software versions you're using a not a common match.
IOW you should be using Xamarin.iOS 8.6, which has the final, supported version of the unified API. The version above (Version: 8.2.0.207) has a preview of the unified API (and most recent binaries/components won't be compatible with it).
The same applies to Xamarin Studio 5.7 update tool. It was made to work with XI 8.6 (not the older versions) and that might give you close, but not perfect, match when updating a project/solution.

How can I compile .Net Micro Framework Porting Kit solutions?

I have bought a ARM7S processor and I wanted to deploy the NETMF there. So I installed the .NETMF porting kit and a CodeSourcery GCC 4.6.3 compiler and tried to compile the solution for my processor.
I should say I have Windows 8.1 Enterprise x64, Visual Studio 2013 Ultimate installed on my PC.
At first I set debugger using this command: "setenv.cmd 4.6.3 C:\gcc" where I had installed my CodeSourcery ARM-EABI gcc compiler.
After that I had moved to folder "Solutions/--my CPU --/TinyCLR" and ran this command: "MSBUILD.EXE /t:build /p:flavor=release;memory=flash"
It took some time and throw a huge amount of errors. I downloaded a older version of the compiler and only one error left.
So I opened a clear version of Windows 7 x86 (virtually) and installed Visual Studio 2012 Professional. After that I tried the same but the error was the same.
"c:\MicroFrameworkPK_v4_3\Solutions\SAM7S_EK\TinyCLR\TinyCLR.proj" (build targe
t) (1) ->
(BuildAXF target) ->
c:\MicroFrameworkPK_v4_3\tools\targets\Microsoft.SPOT.System.GCC.targets(325,
5): error MSB3073: The command ""C:\gcc\bin\..\arm-none-eabi\bin\ld.exe" -stat
ic --gc-sections --no-warn-mismatch --library-path=c:\MicroFrameworkPK_v4_3\Bui
ldOutput\THUMB\GCC4.2\le\FLASH\release\SAM7S_EK\lib --library-path=c:\MicroFram
eworkPK_v4_3\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib --allow-multip
le-definition -u ARM_Vectors -u _start --Map c:\MicroFrameworkPK_v4_3\BuildOutp
ut\THUMB\GCC4.2\le\FLASH\release\SAM7S_EK\bin\tinyclr.map --output=c:\MicroFram
eworkPK_v4_3\BuildOutput\THUMB\GCC4.2\le\FLASH\release\SAM7S_EK\bin\tinyclr.axf
--script=c:\MicroFrameworkPK_v4_3\BuildOutput\THUMB\GCC4.2\le\FLASH\release\SA
M7S_EK\bin\tinyclr_scatterfile.ldf c:\MicroFrameworkPK_v4_3\BuildOutput\THUMB\G
CC4.2\le\FLASH\release\SAM7S_EK\obj\Solutions\SAM7S_EK\TinyCLR\tinyclr_dat.obj
c:\MicroFrameworkPK_v4_3\BuildOutput\THUMB\GCC4.2\le\FLASH\release\SAM7S_EK\obj
\Solutions\SAM7S_EK\TinyCLR\allocator.obj c:\MicroFrameworkPK_v4_3\BuildOutput\
THUMB\GCC4.2\le\FLASH\release\SAM7S_EK\obj\Solutions\SAM7S_EK\TinyCLR\tinyclr.o
bj -( c:\MicroFrameworkPK_v4_3\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\li
b\Core.lib c:\MicroFrameworkPK_v4_3\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\relea
se\lib\Hardware.lib c:\MicroFrameworkPK_v4_3\BuildOutput\THUMB\GCC4.2\le\ANY_ME
DIA\release\lib\InterruptHandler.lib c:\MicroFrameworkPK_v4_3\BuildOutput\THUMB
\GCC4.2\le\ANY_MEDIA\release\lib\HeapPersistence_stub.lib c:\MicroFrameworkPK_v
4_3\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\I2C_stub.lib c:\MicroFram
eworkPK_v4_3\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\IOPort.lib c:\Mi
croFrameworkPK_v4_3\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\RPC_stub.
lib c:\MicroFrameworkPK_v4_3\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\
Serialization_stub.lib c:\MicroFrameworkPK_v4_3\BuildOutput\THUMB\GCC4.2\le\ANY
_MEDIA\release\lib\Debugger.lib c:\MicroFrameworkPK_v4_3\BuildOutput\THUMB\GCC4
.2\le\ANY_MEDIA\release\lib\Debugger_full.lib c:\MicroFrameworkPK_v4_3\BuildOut
put\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\Diagnostics_stub.lib c:\MicroFramewor
kPK_v4_3\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\Graphics_stub.lib c:
\MicroFrameworkPK_v4_3\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\CorLib
.lib c:\MicroFrameworkPK_v4_3\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib
\SPOT.lib c:\MicroFrameworkPK_v4_3\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\releas
e\lib\SPOT_Messaging_stub.lib c:\MicroFrameworkPK_v4_3\BuildOutput\THUMB\GCC4.2
\le\ANY_MEDIA\release\lib\SPOT_Serialization_stub.lib c:\MicroFrameworkPK_v4_3\
BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\SPOT_Hardware.lib c:\MicroFra
meworkPK_v4_3\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\Messaging.lib c
:\MicroFrameworkPK_v4_3\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\release\lib\CLRSt
artup.lib c:\MicroFrameworkPK_v4_3\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\releas
e\lib\CRC.lib c:\MicroFrameworkPK_v4_3\BuildOutput\THUMB\GCC4.2\le\ANY_MEDIA\re
lease\lib\WireProtocol.lib c:\MicroFrameworkPK_v4_3\BuildOutput\THUMB\GCC4.2\le
\ANY_MEDIA\release\lib\SPOT_Hardware_SerialPort.lib c:\MicroFrameworkPK_v4_3\Bu
ildOutput\THUMB\GCC4.2\le\FLASH\release\SAM7S_EK\lib\tmp_tinyclr.lib c:\MicroFr
ameworkPK_v4_3\BuildOutput\THUMB\GCC4.2\le\FLASH\release\SAM7S_EK\lib\InteropAs
sembliesTable.lib -) -( "C:\gcc\arm-none-eabi\lib\thumb\libm.a" "C:\gcc\arm-non
e-eabi\lib\thumb\libc.a" "C:\gcc\lib\gcc\arm-none-eabi\4.2.1\thumb\libgcc.a" -)
-( c:\MicroFrameworkPK_v4_3\tools\ads_v3_1\Lib\armlib\h_t.l c:\MicroFrameworkP
K_v4_3\tools\ads_v3_1\Lib\armlib\c_t.l -)" exited with code 1. [c:\MicroFramewo
rkPK_v4_3\Solutions\SAM7S_EK\TinyCLR\TinyCLR.proj]
Does anybody knows how to fix it or if there is a place, where I can find compiler CLR?
Thanks,
Jonas

Monotouch - Failed to resolve ExtensionAttribute

Using Xcode 5.0.1 with Xamarin studio Version 4.0.13 (build 38) and Xamarin.iOS
Version: 6.2.4.2
I am getting this error when trying to compile my project:
error MT2002: Failed to resolve "System.Void System.Runtime.CompilerServices.ExtensionAttribute::.ctor()" reference from "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
How can I solve it?
The reason for this error is that between .NET 2.0 (including Silverlight) and 4.0 the [Extension] attribute moved from System.Core.dll to mscorlib.dll.
Xamarin.iOS 6.2 (and earlier) were based on a superset of Silverlight (aka the 2.1 profile). So the [Extension] attribute was located in System.Core.dll.
Since Xamarin.iOS 6.3+ the product was re-based on Mono 3.0 and the profile was updated to use the newer 4.0/4.5 profile. Now the [Extension] attribute is located in mscorlib.dll.
In your case you had a binary assembly compiled against the newer (4.0) profile. That assembly had a reference to mscorlib, Version=4.0.0.0, ... to find [Extension] and would lead to errors if built against the older Xamarin.iOS (6.2 and earlier).
As you found out the easy solution was to update to the latest Xamarin.iOS release. Another way to solve this (without updating Xamarin.iOS) would have been to rebuild (if you have the source) the binary assemblies of your project against the assemblies (BCL) shipped with Xamarin.iOS 6.2.

How to get C# 4.0 in Mono (in xbuild)?

I have a .NET project which uses msbuild that I want to try building in Mono. I can build some of its trivial targets just fine, but if I try the full compilation it fails.
I'm not sure how much of the output is relevant, but these are the first lines that look like trouble:
Target GetFrameworkPaths:
/usr/lib/mono/3.5/Microsoft.Common.targets: warning : TargetFrameworkVersion 'v4.0' not supported by this toolset (ToolsVersion: 4.0).
and
Target ResolveAssemblyReferences:
/usr/lib/mono/3.5/Microsoft.Common.targets: warning : Reference 'System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' not resolved
and
/usr/lib/mono/3.5/Microsoft.CSharp.targets: error : Error executing tool '/usr/bin/dmcs': ApplicationName='/usr/bin/dmcs', CommandLine='/noconfig #/tmp/tmp4749932e.tmp', CurrentDirectory='/home/ken/foo/bar'
Task "Csc" execution -- FAILED
I'm running latest Debian unstable. According to this, "dmcs" is the 4.0 compiler. I've not used Mono/xbuild much at all -- is there something special it needs in order to compile a C# 4.0 project? Thanks!
Sid still has Mono 2.6, you probably need Mono 2.10 (available in experimental).

Resources