Создание тарбола - указанный файл вне корневого каталога решения - PullRequest
1 голос
/ 28 ноября 2011

Я создал проект Tarball в рамках monodevelop (2.6 в Ubuntu 11.10) для решения C #, которое переносится из Windows в mono-land.В настоящее время он настроен на создание новых make-файлов для каждого из проектов в решении без установленных переключателей.

Когда я собираю проект tarball, я получаю несколько таких ошибок:

File'' не найден.

... которые выглядят так, как будто они вызывают следующие ошибки:

Решение "(бла)" ссылается на файл "", который находится за пределами корневого каталога решения..

Я попытался удалить файлы .pidb, как рекомендовано в этой связанной проблеме .Но моя проблема больше или время упаковки;Построение решения работает просто отлично.Кто-нибудь выяснил (1), как определить, какой файл (файлы) задыхается от проекта, и (2), как включить эти файлы в вывод?

1 Ответ

2 голосов
/ 11 апреля 2012

Я мог воспроизвести ту же проблему с MonoDevelop 2.8.6.3.При экспорте проекта или создании архива я получил следующие ошибки:

File '(...)/Microsoft.Net.Client.3.5' not found.
File '(...)/Microsoft.Net.Framework.3.5.SP1' not found.
File '(...)/Microsoft.Windows.Installer.3.1' not found.
File '' not found.
File '' not found.
The project '(ProjectName)' is referencing the file '' which is located outside the project directory.
The project '(ProjectName)' is referencing the file '' which is located outside the project directory.

Решение: Вам необходимо очистить файлы .CSPROJ, чтобы сделать их совместимыми с MonoDevelop.

В моем случае я избавился от ошибки File '' not found, удалив следующую запись:

<SignAssembly>true</SignAssembly>

Каким-то образом я установил флажок «Подписать сборку» в окне «Свойства проекта».в Visual Studio, но не указал путь к файлу ключа.

Я избавился от других ошибок, удалив эту группу элементов:

<ItemGroup>
  <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
    <Visible>False</Visible>
    <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
    <Install>false</Install>
  </BootstrapperPackage>
  <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
    <Visible>False</Visible>
    <ProductName>.NET Framework 3.5 SP1</ProductName>
    <Install>true</Install>
  </BootstrapperPackage>
  <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
    <Visible>False</Visible>
    <ProductName>Windows Installer 3.1</ProductName>
    <Install>true</Install>
  </BootstrapperPackage>
</ItemGroup>

Надеюсь, что это поможет другим людям!

...