Есть сборка 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>>
Здравствуйте, ecinunice, Вы писали:
E>E> <Reference Include="$(HData)\cl.dll"/> <!--подключаю cl.dll-->
E>
Это видимо, тот же баг... неверно интерпретируем текущий каталог.
Попробуй так:
<Reference Include="$(MSBuildProjectDirectory)\$(HData)\cl.dll"/>
А вообще, для подобных случаев намного проще использовать Project Referense. Он вроде пашет корреткно. Создай его самой студей и уже потом модифицируй файл как тебе нужно.
ЗЫ
Только еще одно "но". Класть сборки разных проектов в один каталог и при этом не отключать их копирование чревато проблемами.
Здравствуйте, VladD2, Вы писали:
VD>Попробуй так:
VD> <Reference Include="$(MSBuildProjectDirectory)\$(HData)\cl.dll"/>
ух-ты, все работает...
VD>А вообще, для подобных случаев намного проще использовать Project Referense.
Можно подробнее?
... << RSDN@Home 1.2.0 alpha rev. 737>>
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, ecinunice, Вы писали:
VD>>>А вообще, для подобных случаев намного проще использовать Project Referense.
Это я знаю — "не первый год замужем"(с)
... << RSDN@Home 1.2.0 alpha rev. 737>>
Здравствуйте, ecinunice, Вы писали:
E>Есть сборка cl.dll, лежащая на локальном диске и полученная из кода
E>E>namespace cl {
E> public class Class1 {
E> public static C : string = "asdasd";
E> }
E>}
E>
E>...
Можешь заархивировать проект воспроизводящий этот баг и кинуть им в меня (по мылу)?
VD>Можешь заархивировать проект воспроизводящий этот баг и кинуть им в меня (по мылу)?
Отправил с адреса ecinunice at gmail dot com
... << RSDN@Home 1.2.0 alpha rev. 737>>