nproj & references
От: ecinunice  
Дата: 07.03.08 12:09
Оценка:
Есть сборка cl.dll, лежащая на локальном диске и полученная из кода
namespace cl {
    public class Class1 {
      public static C : string = "asdasd";
    }
}


Создаю консольное приложение, руками модифицирую ConsoleApplication1.nproj
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <!-- дефолтная часть -->
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>..\boot\Debug\</OutputPath> <!--здесь лежит cl.dll-->
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <HData Condition=" '$(HData)' == '' ">..\boot\Debug</HData> <!--определяю каталог cl.dll-->
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>..\boot\Release\</OutputPath> <!--здесь лежит cl.dll-->
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <HData Condition=" '$(HData)' == '' ">..\boot\Release</HData> <!--определяю каталог cl.dll-->
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="mscorlib" />
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="System.Xml" />
    <Reference Include="$(Nemerle)\Nemerle.dll" />
    <Reference Include="$(HData)\cl.dll"/> <!--подключаю cl.dll-->
  </ItemGroup>
  <!-- дефолтная часть -->
</Project>


Код приложения
using System;
using System.Console;
using Nemerle.Utility;

module Program
{
  Main() : void
  {
    WriteLine(cl.Class1.C);
    _ = ReadLine();
  }
}

оно успешно компилируется, но в VS в Solution Explorer в узле References сборки нет, также нет автодополнения для сборки cl.dll.
... << RSDN@Home 1.2.0 alpha rev. 737>>
Re: nproj & references
От: VladD2 Российская Империя www.nemerle.org
Дата: 07.03.08 15:32
Оценка: 3 (1)
Здравствуйте, ecinunice, Вы писали:

E>
E>    <Reference Include="$(HData)\cl.dll"/> <!--подключаю cl.dll-->
E>


Это видимо, тот же баг... неверно интерпретируем текущий каталог.

Попробуй так:
    <Reference Include="$(MSBuildProjectDirectory)\$(HData)\cl.dll"/>

А вообще, для подобных случаев намного проще использовать Project Referense. Он вроде пашет корреткно. Создай его самой студей и уже потом модифицируй файл как тебе нужно.

ЗЫ

Только еще одно "но". Класть сборки разных проектов в один каталог и при этом не отключать их копирование чревато проблемами.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: nproj & references
От: ecinunice  
Дата: 07.03.08 16:31
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Попробуй так:

VD>
    <Reference Include="$(MSBuildProjectDirectory)\$(HData)\cl.dll"/>

ух-ты, все работает...

VD>А вообще, для подобных случаев намного проще использовать Project Referense.

Можно подробнее?
... << RSDN@Home 1.2.0 alpha rev. 737>>
Re[3]: nproj & references
От: VladD2 Российская Империя www.nemerle.org
Дата: 07.03.08 17:10
Оценка:
Здравствуйте, ecinunice, Вы писали:

VD>>А вообще, для подобных случаев намного проще использовать Project Referense.

E>Можно подробнее?

Ты пробовал добавлять ссылки на проекты из Интеграции? Тав вроде все элементарно.
1. Выбирашь ветку References в проекте.
2. Жмешь правой нопкой мыши.
3. Выбераешь единственный пункт меню.
4. Переключается на закладку Projects.
5. Выбирашь нужный тебе проект.

Только нужно следить, чтобы проект был скомпилированным.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: nproj & references
От: ecinunice  
Дата: 11.03.08 05:56
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, ecinunice, Вы писали:


VD>>>А вообще, для подобных случаев намного проще использовать Project Referense.

Это я знаю — "не первый год замужем"(с)
... << RSDN@Home 1.2.0 alpha rev. 737>>
Re: nproj & references
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.03.08 12:34
Оценка:
Здравствуйте, ecinunice, Вы писали:

E>Есть сборка cl.dll, лежащая на локальном диске и полученная из кода

E>
E>namespace cl {
E>    public class Class1 {
E>      public static C : string = "asdasd";
E>    }
E>}
E>

E>...

Можешь заархивировать проект воспроизводящий этот баг и кинуть им в меня (по мылу)?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: nproj & references
От: ecinunice  
Дата: 11.03.08 12:53
Оценка:
VD>Можешь заархивировать проект воспроизводящий этот баг и кинуть им в меня (по мылу)?
Отправил с адреса ecinunice at gmail dot com
... << RSDN@Home 1.2.0 alpha rev. 737>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.