[MonoDevelop] Build fails where Add Reference to Project

Alberto León leontiscar at gmail.com
Sun Jan 20 19:07:01 UTC 2013


I did the test. The csproj created by Visual Studio is equal to the one
created by MonoDevelop.

The same behaviour happens, in a Library project, you can't choose Platform.

Only offers Any Platform.

But in the first PropertyGroup in the Visual Studio csproj as the
PropertyGroup in MonoDevelop, for the Any Platform, they haven't OutputPath
property.

I think the problem is in the builder.

The MonoDevelop builder only looks in the properties of the Any Cpu
Property Group, when they have to look in the Debug, that has the
OutputPath.

Another question is that in the configuration or compilation dialog, you
can't choose platform, if you are using a Library project. When you look at
other type of project, like GTK# or Console you can choose the platform.

I think the problem is between the builder loading the configuration of a
library. Is any thing distinct compared to the others type of project.


2013/1/20 Alberto León <leontiscar at gmail.com>

> Yes I can send a test. If you can read and understand Spanish please see
> www.proyecto-mono.org the last article posted is about this problem and
> the fix as Alan McGovern suggested me.
>
>
> http://www.proyecto-mono.org/error-outputpath-property-is-not-set-for-this-project-en-monodevelop/
>
> In Few hours a will send the test in VS and the test in MonoDevelop
>
>
> 2013/1/20 Andres G. Aragoneses <knocte at gmail.com>
>
>
>> Can you do a small test in Visual Studio, creating 2 simple projects, one
>> depending on each other? The compilation then would obviously not fail
>> within VS, but the key thing to do would be to compare the .csproj files
>> generated by VS and the ones generated by MD: if the propertyGroup elements
>> are created differently, I guess that is the bug that needs fixing in
>> MonoDevelop.
>>
>>
>>
>> On 20/01/13 12:19, Alberto León wrote:
>>
>>> More information about this.
>>> When I create a Library project, I can't choose platform for compilation
>>> target.
>>>
>>> So I think this is the big reason that the project A is looking in first
>>> PropertyGroup.
>>> But the .csproj has the three blocks
>>>
>>>
>>> 2013/1/20 Alberto León <leontiscar at gmail.com <mailto:
>>> leontiscar at gmail.com>>
>>>
>>>
>>>     The fail appears in Linux Mint. I check it in:
>>>     Mono 2.10.8.1 + MonoDevelop 2.8.6.3, from packages
>>>     Mono 3.0.3 + MonoDevelop 3.0.5,from sources installed in parallel
>>>     environment
>>>
>>>     I see the problem appears only because when you Compile Project A,
>>>     that has a reference to Project B, it uses Proyect B first
>>>     PropertyGroup configuration, not debug configuration. In this
>>>     configuration OutputPath doesn't appear.
>>>
>>>     This is the xml of the .csproj that fails. If I copy OutputPath from
>>>     Debug PropertyGroup Configuration, to the first block the
>>>     compilation success correctly
>>>
>>>     <?xml version="1.0" encoding="utf-8"?>
>>>     <Project DefaultTargets="Build" ToolsVersion="4.0"
>>>     xmlns="http://schemas.**microsoft.com/developer/**msbuild/2003<http://schemas.microsoft.com/developer/msbuild/2003>
>>> ">
>>>        <PropertyGroup>
>>>          <Configuration Condition=" '$(Configuration)' == ''
>>>     ">Debug</Configuration>
>>>          <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
>>>          <ProductVersion>10.0.0</**ProductVersion>
>>>          <SchemaVersion>2.0</**SchemaVersion>
>>>          <ProjectGuid>{046A80F4-E5EA-**4E99-B45D-40A71E173067}</**
>>> ProjectGuid>
>>>          <OutputType>Library</**OutputType>
>>>          <RootNamespace>MiProyecto.**Core</RootNamespace>
>>>          <AssemblyName>MiProyecto.Core<**/AssemblyName>
>>>        </PropertyGroup>
>>>        <PropertyGroup Condition=" '$(Configuration)|$(Platform)' ==
>>>     'Debug|AnyCPU' ">
>>>          <DebugSymbols>true</**DebugSymbols>
>>>          <DebugType>full</DebugType>
>>>          <Optimize>false</Optimize>
>>>          <OutputPath>bin\Debug</**OutputPath>
>>>          <DefineConstants>DEBUG;</**DefineConstants>
>>>          <ErrorReport>prompt</**ErrorReport>
>>>          <WarningLevel>4</WarningLevel>
>>>          <ConsolePause>false</**ConsolePause>
>>>        </PropertyGroup>
>>>        <PropertyGroup Condition=" '$(Configuration)|$(Platform)' ==
>>>     'Release|AnyCPU' ">
>>>          <DebugType>none</DebugType>
>>>          <Optimize>false</Optimize>
>>>          <OutputPath>bin\Release</**OutputPath>
>>>          <ErrorReport>prompt</**ErrorReport>
>>>          <WarningLevel>4</WarningLevel>
>>>          <ConsolePause>false</**ConsolePause>
>>>        </PropertyGroup>
>>>        <ItemGroup>
>>>          <Reference Include="System" />
>>>        </ItemGroup>
>>>        <ItemGroup>
>>>          <Compile Include="MyClass.cs" />
>>>          <Compile Include="AssemblyInfo.cs" />
>>>        </ItemGroup>
>>>        <Import Project="$(MSBuildBinPath)\**Microsoft.CSharp.targets" />
>>>     </Project>
>>>
>>>
>>>
>>>
>>>     2013/1/20 Michael Hutchinson <m.j.hutchinson at gmail.com
>>>     <mailto:m.j.hutchinson at gmail.**com <m.j.hutchinson at gmail.com>>>
>>>
>>>
>>>         It looks like you're using the experimental MSBuild build
>>>         engine, try disabling it.
>>>
>>>         I suspect this is a bug with building heterogeneous solution
>>>         configurations (e.g. solution config "Debug|x86" mapped to the
>>>         "Debug|AnyCPU" project configuration) with the MSBuild engine
>>>         that was fixed in MD a while back, what MD version are you using?
>>>
>>>         On Jan 17, 2013 5:21 PM, "Alberto León" <leontiscar at gmail.com
>>>         <mailto:leontiscar at gmail.com>> wrote:
>>>
>>>             I tried compile projects separately, and all builds without
>>>             problems.
>>>
>>>             But when I reference a project, and do build, MonoDevelop
>>>             shows an error  'OutputPath' property is not set for this
>>>             project
>>>
>>>
>>>
>>>             Construyendo: hola (Debug)
>>>
>>>             Realizando compilación principal...
>>>
>>>             Build started 17/01/2013 23:17:01.
>>>             ______________________________**____________________
>>>             Project "/home/alberto/**MonoSimpleInstall/hola/hola.**
>>> csproj"
>>>             (Build target(s)):
>>>             Target PrepareForBuild:
>>>             Configuration: Debug Platform: AnyCPU
>>>             Target GenerateSatelliteAssemblies:
>>>             No input files were specified for target
>>>             GenerateSatelliteAssemblies, skipping.
>>>             Target CoreCompile:
>>>             Tool /usr/bin/gmcs execution started with arguments:
>>>             /noconfig /debug:full /debug+ /optimize-
>>>             /out:obj/Debug/hola.dll MyClass.cs AssemblyInfo.cs
>>>             /target:library /define:DEBUG
>>>             /reference:/usr/lib/mono/2.0/**System.dll /warn:4
>>>             Target DeployOutputFiles:
>>>             Copying file from
>>>             '/home/alberto/**MonoSimpleInstall/hola/obj/**Debug/hola.dll.mdb'
>>> to
>>>             '/home/alberto/**MonoSimpleInstall/hola/bin/**
>>> Debug/hola.dll.mdb'
>>>             Copying file from
>>>             '/home/alberto/**MonoSimpleInstall/hola/obj/**Debug/hola.dll'
>>> to
>>>             '/home/alberto/**MonoSimpleInstall/hola/bin/**
>>> Debug/hola.dll'
>>>             Done building project
>>>             "/home/alberto/**MonoSimpleInstall/hola/hola.**csproj".
>>>
>>>             Build succeeded.
>>>             0 Warning(s)
>>>             0 Error(s)
>>>
>>>             Time Elapsed 00:00:00.6061730
>>>             Construcción finalizada -- 0 errores, 0 advertencias
>>>
>>>             Construyendo: MonoSimpleInstallConsole (Debug|x86)
>>>
>>>             Realizando compilación principal...
>>>
>>>             Build started 17/01/2013 23:17:02.
>>>             ______________________________**____________________
>>>             Project
>>>             "/home/alberto/**MonoSimpleInstall/**
>>> MonoSimpleInstallConsole/**MonoSimpleInstallConsole.**csproj"
>>>             (Build target(s)):
>>>             Target PrepareForBuild:
>>>             Configuration: Debug Platform: x86
>>>             Target ResolveProjectReferences:
>>>             Project "/home/alberto/**MonoSimpleInstall/hola/hola.**
>>> csproj"
>>>             (GetTargetPath target(s)):
>>>             Target _ValidateEssentialProperties:
>>>             /usr/lib/mono/4.0/Microsoft.**Common.targets: error :
>>>             'OutputPath' property is not set for this project. Usually
>>>             this is caused by invalid Configuration/Platform
>>>             combination. Original values: Configuration: Debug Platform:
>>>             x86.
>>>             Task "Error" execution -- FAILED
>>>             Done building target "_ValidateEssentialProperties" in
>>>             project
>>>             "/home/alberto/**MonoSimpleInstall/hola/hola.**csproj".--
>>> FAILED
>>>             Done building project
>>>             "/home/alberto/**MonoSimpleInstall/hola/hola.**csproj".--
>>> FAILED
>>>             Task "MSBuild" execution -- FAILED
>>>             Done building target "ResolveProjectReferences" in project
>>>             "/home/alberto/**MonoSimpleInstall/**
>>> MonoSimpleInstallConsole/**MonoSimpleInstallConsole.**csproj".--
>>>             FAILED
>>>             Done building project
>>>             "/home/alberto/**MonoSimpleInstall/**
>>> MonoSimpleInstallConsole/**MonoSimpleInstallConsole.**csproj".--
>>>             FAILED
>>>
>>>             Build FAILED.
>>>             Errors:
>>>
>>>             /home/alberto/**MonoSimpleInstall/**
>>> MonoSimpleInstallConsole/**MonoSimpleInstallConsole.**csproj
>>>             (Build) ->
>>>             /usr/lib/mono/4.0/Microsoft.**Common.targets
>>>             (ResolveProjectReferences target) ->
>>>             /home/alberto/**MonoSimpleInstall/hola/hola.**csproj
>>>             (GetTargetPath) ->
>>>             /usr/lib/mono/4.0/Microsoft.**Common.targets
>>>             (_ValidateEssentialProperties target) ->
>>>
>>>             /usr/lib/mono/4.0/Microsoft.**Common.targets: error :
>>>             'OutputPath' property is not set for this project. Usually
>>>             this is caused by invalid Configuration/Platform
>>>             combination. Original values: Configuration: Debug Platform:
>>>             x86.
>>>
>>>             0 Warning(s)
>>>             1 Error(s)
>>>
>>>             Time Elapsed 00:00:00.1621860
>>>             Construcción finalizada -- 1 error, 0 advertencias
>>>
>>>             ---------------------- Hecho ---------------------
>>>
>>>             Construcción: 1 error, 0 advertencias
>>>
>>>
>>>             --
>>>
>>>             http://stackoverflow.com/**users/690958/alberto-leon<http://stackoverflow.com/users/690958/alberto-leon>
>>>
>>>             ______________________________**_________________
>>>             Monodevelop-list mailing list
>>>             Monodevelop-list at lists.ximian.**com<Monodevelop-list at lists.ximian.com>
>>>             <mailto:Monodevelop-list@**lists.ximian.com<Monodevelop-list at lists.ximian.com>
>>> >
>>>
>>>             http://lists.ximian.com/**mailman/listinfo/monodevelop-**
>>> list <http://lists.ximian.com/mailman/listinfo/monodevelop-list>
>>>
>>>
>>>
>>>
>>>     --
>>>
>>>     http://stackoverflow.com/**users/690958/alberto-leon<http://stackoverflow.com/users/690958/alberto-leon>
>>>
>>>
>>>
>>>
>>> --
>>>
>>> http://stackoverflow.com/**users/690958/alberto-leon<http://stackoverflow.com/users/690958/alberto-leon>
>>>
>>>
>>>
>>> ______________________________**_________________
>>> Monodevelop-list mailing list
>>> Monodevelop-list at lists.ximian.**com <Monodevelop-list at lists.ximian.com>
>>> http://lists.ximian.com/**mailman/listinfo/monodevelop-**list<http://lists.ximian.com/mailman/listinfo/monodevelop-list>
>>>
>>>
>>
>> ______________________________**_________________
>> Monodevelop-list mailing list
>> Monodevelop-list at lists.ximian.**com <Monodevelop-list at lists.ximian.com>
>> http://lists.ximian.com/**mailman/listinfo/monodevelop-**list<http://lists.ximian.com/mailman/listinfo/monodevelop-list>
>>
>
>
>
> --
>
> http://stackoverflow.com/users/690958/alberto-leon
>



-- 

http://stackoverflow.com/users/690958/alberto-leon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/monodevelop-list/attachments/20130120/c96a973a/attachment-0001.html>


More information about the Monodevelop-list mailing list