CSC задача в Msbuild прерывается с ошибками пространства имен - PullRequest
0 голосов
/ 22 сентября 2009

Я попытался сделать следующее:

 <!-- Specify the inputs by type and file name -->
<ItemGroup>
    <CSFile Include = "$(MSBuildProjectDirectory)\..\Mine.cs"/>
</ItemGroup>

<Target Name = "Compile">
    <!-- Run the Visual C# compilation using input files of type CSFile -->
       <Csc Sources="@(CSFile)" />
    <!-- Log the file name of the output file -->
    <Message Text="The output file is done"/>
</Target>

Это не работает, поскольку все пространства имен, используемые в проекте, генерируют ошибки. Кто-нибудь знает, как я могу явно получить сборки, чтобы забрать из файла решения, как пути в порядке, и если загружены в Visual Studio все в порядке. Мне нужно, чтобы это сценарий и выше не работает. Есть ли очевидная неудача?

Ценю вклад: -)

Я понял, что это не сработает, так как файл, который у меня есть, имеет несколько внешних зависимостей. Следовательно, мне нужно будет использовать devenv.exe. Проблема в том, что я получаю следующее:

Что я получаю - команда завершается с кодом 1? Я хочу, чтобы проект собрал все необходимые библиотеки DLL без необходимости открывать Visual Studio.

Есть идеи?

Thnxes: -)

1 Ответ

0 голосов
/ 22 сентября 2009

попробуйте (добавьте собственные ссылки на dll)

<ItemGroup>
  <CSFile Include = "$(MSBuildProjectDirectory)\..\Mine.cs"/>
  <Reference Include="System.dll"/>
  <Reference Include="System.Data.dll"/>
  <Reference Include="System.Drawing.dll"/>
  <Reference Include="System.Windows.Forms.dll"/>
  <Reference Include="System.XML.dll"/>
</ItemGroup>
<Target Name = "Compile">
    <!-- Run the Visual C# compilation using input files of type CSFile -->
       <Csc Sources="@(CSFile)" 
            References="@(Reference)"
            OutputAssembly="$(builtdir)\$(MSBuildProjectName).exe"
            TargetType="exe" />
            />
    <!-- Log the file name of the output file -->
    <Message Text="The output file is done"/>
</Target>
...