Mark Jones
Mark Jones

Reputation: 1501

xbuild: No target found in the project. c# class lib

I am trying to compile a project using xbuild on Ubuntu 14.4 LTS. I have mono 4.2.3 and xbuild 12

The entire solution was previously building with mono on OSX, but a few changes have been made by my colleges (such as renaming of projects) and now it fails to build on OSX too. I can't for the life of me work out what has changed to cause this. It continues to build fine in visual studio and with msbuild on Jenkins.

There are 5 projects in the solution, and initially they all returned an error

<Projfile>:error : No target found in the project

after a little googling, I added the following to all of my project files.

<Target Name="Build" DependsOnTargets="$(BuildDependsOn)" Outputs="$(TargetPath)" />

Now, only the 2 class library projects are returning this error.

I have checked all my msbuild variables are set to the correct paths by running with diagnostic logging, and I have also found a couple of SO posts that walk through if mono is installed correctly or not.

I'm at a bit of a loss.

Edit

here is the output running with /v:diag as requested.

mjones@mlclustervs110:~/workspace/Mono-ServiceTemplate-Linux$ ./debugbuild.sh
Scanning for projects...
Found 5 projects with a packages.config file. (Microlise.MonoTemplate.Logger, Microlise.MonoTemplate.Microservice, Microlise.MonoTemplate.Tests.Helpers, Microlise.MonoTemplate.Tests.Intergration, Microlise.MonoTemplate.Tests.Unit)
Looking for installed packages in 'packages'.
Updating 'Microlise.MonoTemplate.Logger'...
Updating 'Microlise.MonoTemplate.Microservice'...
Updating 'Microlise.MonoTemplate.Tests.Helpers'...
Updating 'Microlise.MonoTemplate.Tests.Intergration'...
Updating 'Microlise.MonoTemplate.Tests.Unit'...
XBuild Engine Version 12.0
Mono, Version 4.2.3.0
Copyright (C) 2005-2013 Various Mono authors

Loading default tasks for ToolsVersion: 4.0 from /usr/lib/mono/4.5/Microsoft.Common.tasks

Build started 01/04/2016 08:30:35.
__________________________________________________
Loading default tasks for ToolsVersion: 12.0 from /usr/lib/mono/xbuild/12.0/bin/Microsoft.Common.tasks
Project "/home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.sln" (default target(s)):
Initial Properties:
_ = /usr/bin/xbuild
AspNetConfiguration = $(Configuration)
Configuration = Debug
CurrentSolutionConfigurationContents = <SolutionConfiguration xmlns=""><ProjectConfiguration Project="{DAA924E0-7C89-4E49-B1C6-28B66ABAC229}">Debug|AnyCPU</ProjectConfiguration><ProjectConfiguration Project="{BBF92C72-30BF-46E2-8C09-35D1E4773C82}">Debug|x86</ProjectConfiguration><ProjectConfiguration Project="{2F2DD425-BAE2-46A4-BC3B-C722B0C6E326}">Debug|AnyCPU</ProjectConfiguration><ProjectConfiguration Project="{F9162212-6CE4-4AD5-AFD5-F4AF03D89412}">Debug|AnyCPU</ProjectConfiguration><ProjectConfiguration Project="{AA6310E1-91CF-4392-A4E7-F41493005A55}">Debug|AnyCPU</ProjectConfiguration></SolutionConfiguration>
EnableNuGetPackageRestore = true
ftp_proxy = http://foxy:8080
HOME = /home/mjones
http_proxy = http://foxy:8080
https_proxy = https://foxy:8080
LANG = en_GB.UTF-8
LANGUAGE = en_GB:en
LESSCLOSE = /usr/bin/lesspipe %s %s
LESSOPEN = | /usr/bin/lesspipe %s
LOGNAME = mjones
LS_COLORS = rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:
MAIL = /var/mail/mjones
MSBuildBinPath = /usr/lib/mono/xbuild/12.0/bin
MSBuildExtensionsPath = /usr/lib/mono/xbuild
MSBuildExtensionsPath32 = /usr/lib/mono/xbuild
MSBuildExtensionsPath64 = /usr/lib/mono/xbuild
MSBuildFrameworkToolsPath = /usr/lib/mono/4.5
MSBuildFrameworkToolsPath32 = /usr/lib/mono/4.5
MSBuildProjectDefaultTargets = Build
MSBuildProjectDirectory = /home/mjones/workspace/Mono-ServiceTemplate-Linux
MSBuildProjectExtension = .sln
MSBuildProjectFile = Microlise.MonoTemplate.sln
MSBuildProjectFullPath = /home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.sln
MSBuildProjectName = Microlise.MonoTemplate
MSBuildThisFile = Microlise.MonoTemplate.sln
MSBuildThisFileDirectory = /home/mjones/workspace/Mono-ServiceTemplate-Linux/
MSBuildThisFileDirectoryNoRoot = home/mjones/workspace/Mono-ServiceTemplate-Linux/
MSBuildThisFileExtension = .sln
MSBuildThisFileFullPath = /home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.sln
MSBuildThisFileName = Microlise.MonoTemplate
MSBuildToolsPath = /usr/lib/mono/xbuild/12.0/bin
MSBuildToolsPath32 = /usr/lib/mono/xbuild/12.0/bin
MSBuildToolsRoot = /usr/lib/mono/xbuild/12.0
MSBuildToolsVersion = 12.0
no_proxy = microlise19,localhost,*.ml.local,127.0.0.1,127.0.1.1*,local.home
OLDPWD = /home/mjones/workspace/Mono-ServiceTemplate-Linux/.nuget
OS = Unix
PATH = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Platform = Mixed Platforms
PWD = /home/mjones/workspace/Mono-ServiceTemplate-Linux
SHELL = /bin/bash
SHLVL = 2
SolutionDir = /home/mjones/workspace/Mono-ServiceTemplate-Linux/
SolutionExt = .sln
SolutionFileName = Microlise.MonoTemplate.sln
SolutionName = Microlise.MonoTemplate
SolutionPath = /home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.sln
SSH_CLIENT = 172.17.150.93 56285 22
SSH_CONNECTION = 172.17.150.93 56285 172.17.147.110 22
SSH_TTY = /dev/pts/1
TERM = cygwin
USER = mjones
XDG_RUNTIME_DIR = /run/user/1001
XDG_SESSION_ID = 19

Initial Items:
BuildLevel0
    /home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Logger/Microlise.MonoTemplate.Logger.csproj
    /home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Microservice/Microlise.MonoTemplate.Microservice.csproj
    /home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Tests.Helpers/Microlise.MonoTemplate.Tests.Helpers.csproj
BuildLevel1
    /home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Tests.Intergration/Microlise.MonoTemplate.Tests.Intergration.csproj
    /home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Tests.Unit/Microlise.MonoTemplate.Tests.Unit.csproj
ProjectReference
    /home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Logger/Microlise.MonoTemplate.Logger.csproj
    /home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Microservice/Microlise.MonoTemplate.Microservice.csproj
    /home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Tests.Intergration/Microlise.MonoTemplate.Tests.Intergration.csproj
    /home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Tests.Unit/Microlise.MonoTemplate.Tests.Unit.csproj
    /home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Tests.Helpers/Microlise.MonoTemplate.Tests.Helpers.csproj
Building target "ValidateSolutionConfiguration" in project "/home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.sln" ("/home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.sln").
    Target ValidateSolutionConfiguration:
    Task "Message"
            Using task Message from Microsoft.Build.Tasks.Message, Microsoft.Build.Tasks.v12.0, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
            Building solution configuration "Debug|Mixed Platforms".
    Done executing task "Message"
    Done building target "ValidateSolutionConfiguration" in project "/home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.sln".
Done building target "ValidateSolutionConfiguration" in project "/home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.sln" ("/home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.sln").
Building target "Build" in project "/home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.sln" ("/home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.sln").
    Target Build:
    Task "MSBuild"
            Using task MSBuild from Microsoft.Build.Tasks.MSBuild, Microsoft.Build.Tasks.v12.0, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
            Global Properties:
                    BuildingSolutionFile = true
                    Configuration = Debug
                    CurrentSolutionConfigurationContents = <SolutionConfiguration xmlns=""><ProjectConfiguration Project="{DAA924E0-7C89-4E49-B1C6-28B66ABAC229}">Debug|AnyCPU</ProjectConfiguration><ProjectConfiguration Project="{BBF92C72-30BF-46E2-8C09-35D1E4773C82}">Debug|x86</ProjectConfiguration><ProjectConfiguration Project="{2F2DD425-BAE2-46A4-BC3B-C722B0C6E326}">Debug|AnyCPU</ProjectConfiguration><ProjectConfiguration Project="{F9162212-6CE4-4AD5-AFD5-F4AF03D89412}">Debug|AnyCPU</ProjectConfiguration><ProjectConfiguration Project="{AA6310E1-91CF-4392-A4E7-F41493005A55}">Debug|AnyCPU</ProjectConfiguration></SolutionConfiguration>
                    Platform = AnyCPU
                    SolutionDir = /home/mjones/workspace/Mono-ServiceTemplate-Linux/
                    SolutionExt = .sln
                    SolutionFileName = Microlise.MonoTemplate.sln
                    SolutionName = Microlise.MonoTemplate
                    SolutionPath = /home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.sln
            Project "/home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Logger/Microlise.MonoTemplate.Logger.csproj" (default target(s)):
            Initial Properties:
            _ = /usr/bin/xbuild
            BuildingSolutionFile = true
            Configuration = Debug
            CurrentSolutionConfigurationContents = <SolutionConfiguration xmlns=""><ProjectConfiguration Project="{DAA924E0-7C89-4E49-B1C6-28B66ABAC229}">Debug|AnyCPU</ProjectConfiguration><ProjectConfiguration Project="{BBF92C72-30BF-46E2-8C09-35D1E4773C82}">Debug|x86</ProjectConfiguration><ProjectConfiguration Project="{2F2DD425-BAE2-46A4-BC3B-C722B0C6E326}">Debug|AnyCPU</ProjectConfiguration><ProjectConfiguration Project="{F9162212-6CE4-4AD5-AFD5-F4AF03D89412}">Debug|AnyCPU</ProjectConfiguration><ProjectConfiguration Project="{AA6310E1-91CF-4392-A4E7-F41493005A55}">Debug|AnyCPU</ProjectConfiguration></SolutionConfiguration>
            EnableNuGetPackageRestore = true
            ftp_proxy = http://foxy:8080
            HOME = /home/mjones
            http_proxy = http://foxy:8080
            https_proxy = https://foxy:8080
            LANG = en_GB.UTF-8
            LANGUAGE = en_GB:en
            LESSCLOSE = /usr/bin/lesspipe %s %s
            LESSOPEN = | /usr/bin/lesspipe %s
            LOGNAME = mjones
            LS_COLORS = rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:
            MAIL = /var/mail/mjones
            MSBuildBinPath = /usr/lib/mono/4.5
            MSBuildExtensionsPath = /usr/lib/mono/xbuild
            MSBuildExtensionsPath32 = /usr/lib/mono/xbuild
            MSBuildExtensionsPath64 = /usr/lib/mono/xbuild
            MSBuildProjectDefaultTargets =
            MSBuildProjectDirectory = /home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Logger
            MSBuildProjectExtension = .csproj
            MSBuildProjectFile = Microlise.MonoTemplate.Logger.csproj
            MSBuildProjectFullPath = /home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Logger/Microlise.MonoTemplate.Logger.csproj
            MSBuildProjectName = Microlise.MonoTemplate.Logger
            MSBuildThisFile = Microlise.MonoTemplate.Logger.csproj
            MSBuildThisFileDirectory = /home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Logger/
            MSBuildThisFileDirectoryNoRoot = home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Logger/
            MSBuildThisFileExtension = .csproj
            MSBuildThisFileFullPath = /home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Logger/Microlise.MonoTemplate.Logger.csproj
            MSBuildThisFileName = Microlise.MonoTemplate.Logger
            MSBuildToolsPath = /usr/lib/mono/4.5
            MSBuildToolsRoot = /usr/lib/mono
            MSBuildToolsVersion = 4.0
            no_proxy = microlise19,localhost,*.ml.local,127.0.0.1,127.0.1.1*,local.home
            OLDPWD = /home/mjones/workspace/Mono-ServiceTemplate-Linux/.nuget
            OS = Unix
            PATH = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
            Platform = AnyCPU
            PWD = /home/mjones/workspace/Mono-ServiceTemplate-Linux
            SHELL = /bin/bash
            SHLVL = 2
            SolutionDir = /home/mjones/workspace/Mono-ServiceTemplate-Linux/
            SolutionExt = .sln
            SolutionFileName = Microlise.MonoTemplate.sln
            SolutionName = Microlise.MonoTemplate
            SolutionPath = /home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.sln
            SSH_CLIENT = 172.17.150.93 56285 22
            SSH_CONNECTION = 172.17.150.93 56285 172.17.147.110 22
            SSH_TTY = /dev/pts/1
            TERM = cygwin
            USER = mjones
            XDG_RUNTIME_DIR = /run/user/1001
            XDG_SESSION_ID = 19
            Initial Items:
/home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Logger/Microlise.MonoTemplate.Logger.csproj: error : No target found in the project
            Done building project "/home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Logger/Microlise.MonoTemplate.Logger.csproj".-- FAILED
            Project "/home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Tests.Helpers/Microlise.MonoTemplate.Tests.Helpers.csproj" (default target(s)):
            Initial Properties:
            _ = /usr/bin/xbuild
            BuildingSolutionFile = true
            Configuration = Debug
            CurrentSolutionConfigurationContents = <SolutionConfiguration xmlns=""><ProjectConfiguration Project="{DAA924E0-7C89-4E49-B1C6-28B66ABAC229}">Debug|AnyCPU</ProjectConfiguration><ProjectConfiguration Project="{BBF92C72-30BF-46E2-8C09-35D1E4773C82}">Debug|x86</ProjectConfiguration><ProjectConfiguration Project="{2F2DD425-BAE2-46A4-BC3B-C722B0C6E326}">Debug|AnyCPU</ProjectConfiguration><ProjectConfiguration Project="{F9162212-6CE4-4AD5-AFD5-F4AF03D89412}">Debug|AnyCPU</ProjectConfiguration><ProjectConfiguration Project="{AA6310E1-91CF-4392-A4E7-F41493005A55}">Debug|AnyCPU</ProjectConfiguration></SolutionConfiguration>
            EnableNuGetPackageRestore = true
            ftp_proxy = http://foxy:8080
            HOME = /home/mjones
            http_proxy = http://foxy:8080
            https_proxy = https://foxy:8080
            LANG = en_GB.UTF-8
            LANGUAGE = en_GB:en
            LESSCLOSE = /usr/bin/lesspipe %s %s
            LESSOPEN = | /usr/bin/lesspipe %s
            LOGNAME = mjones
            LS_COLORS = rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:
            MAIL = /var/mail/mjones
            MSBuildBinPath = /usr/lib/mono/4.5
            MSBuildExtensionsPath = /usr/lib/mono/xbuild
            MSBuildExtensionsPath32 = /usr/lib/mono/xbuild
            MSBuildExtensionsPath64 = /usr/lib/mono/xbuild
            MSBuildProjectDefaultTargets =
            MSBuildProjectDirectory = /home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Tests.Helpers
            MSBuildProjectExtension = .csproj
            MSBuildProjectFile = Microlise.MonoTemplate.Tests.Helpers.csproj
            MSBuildProjectFullPath = /home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Tests.Helpers/Microlise.MonoTemplate.Tests.Helpers.csproj
            MSBuildProjectName = Microlise.MonoTemplate.Tests.Helpers
            MSBuildThisFile = Microlise.MonoTemplate.Tests.Helpers.csproj
            MSBuildThisFileDirectory = /home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Tests.Helpers/
            MSBuildThisFileDirectoryNoRoot = home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Tests.Helpers/
            MSBuildThisFileExtension = .csproj
            MSBuildThisFileFullPath = /home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Tests.Helpers/Microlise.MonoTemplate.Tests.Helpers.csproj
            MSBuildThisFileName = Microlise.MonoTemplate.Tests.Helpers
            MSBuildToolsPath = /usr/lib/mono/4.5
            MSBuildToolsRoot = /usr/lib/mono
            MSBuildToolsVersion = 4.0
            no_proxy = microlise19,localhost,*.ml.local,127.0.0.1,127.0.1.1*,local.home
            OLDPWD = /home/mjones/workspace/Mono-ServiceTemplate-Linux/.nuget
            OS = Unix
            PATH = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
            Platform = AnyCPU
            PWD = /home/mjones/workspace/Mono-ServiceTemplate-Linux
            SHELL = /bin/bash
            SHLVL = 2
            SolutionDir = /home/mjones/workspace/Mono-ServiceTemplate-Linux/
            SolutionExt = .sln
            SolutionFileName = Microlise.MonoTemplate.sln
            SolutionName = Microlise.MonoTemplate
            SolutionPath = /home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.sln
            SSH_CLIENT = 172.17.150.93 56285 22
            SSH_CONNECTION = 172.17.150.93 56285 172.17.147.110 22
            SSH_TTY = /dev/pts/1
            TERM = cygwin
            USER = mjones
            XDG_RUNTIME_DIR = /run/user/1001
            XDG_SESSION_ID = 19
            Initial Items:
/home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Tests.Helpers/Microlise.MonoTemplate.Tests.Helpers.csproj: error : No target found in the project
            Done building project "/home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Tests.Helpers/Microlise.MonoTemplate.Tests.Helpers.csproj".-- FAILED
    Task "MSBuild" execution -- FAILED
    Done building target "Build" in project "/home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.sln".-- FAILED
Done building target "Build" in project "/home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.sln" ("/home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.sln").
Done building project "/home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.sln".-- FAILED

Target performance summary:
12.440 ms  ValidateSolutionConfiguration                           1 calls
15.775 ms  Build                                                   1 calls

Tasks performance summary:
 8.211 ms  Message                                                 1 calls
14.441 ms  MSBuild                                                 1 calls

Build FAILED.
Errors:

/home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.sln (default targets) ->
(Build target) ->
/home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Logger/Microlise.MonoTemplate.Logger.csproj (default targets) ->

/home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Logger/Microlise.MonoTemplate.Logger.csproj: error : No target found in the project

/home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.sln (default targets) ->
(Build target) ->
/home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Tests.Helpers/Microlise.MonoTemplate.Tests.Helpers.csproj (default targets) ->

/home/mjones/workspace/Mono-ServiceTemplate-Linux/Microlise.MonoTemplate.Tests.Helpers/Microlise.MonoTemplate.Tests.Helpers.csproj: error : No target found in the project

0 Warning(s)

2 Error(s)

Time Elapsed 00:00:00.1838320

mjones@mlclustervs110:~/workspace/Mono-ServiceTemplate-Linux$

The really weird bit is that my csproj files start off looking as they do in source control. something like this (redacted for character limit)

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.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>
    <ProjectGuid>{DAA924E0-7C89-4E49-B1C6-28B66ABAC229}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>Microlise.MonoTemplate.Logger</RootNamespace>
    <AssemblyName>Microlise.MonoTemplate.Logger</AssemblyName>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
    <RestorePackages>true</RestorePackages>
    <TargetFrameworkProfile />
  </PropertyGroup>
......

but if I look at it after the build has failed, it has changed to this:

<?xml version="1.0" encoding="utf-8">                                                       
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />   

And that's all that is in the file. No targets, nothing. So it seems to me as though xbuild/mono is modifying the csproj files as it performs the build for some reason?

edit 2

here is the imports from the Logger project\

<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />

Upvotes: 2

Views: 1879

Answers (1)

Mark Jones
Mark Jones

Reputation: 1501

ok, so this was all a symptom of an out of date NuGet.exe. I am not sure where the version I was using came from, but the command I was using to restore packages was :

nuget update -safe Microlise.MonoTemplate.sln -repositoryPath ./packages

after updating nuget, I can now simply run

nuget restore Microlise.MonoTemplate.sln 

and the other issues all went away.

Upvotes: 1

Related Questions