我尝试过以下方法:
<!-- 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中加载一切都很好。我需要编写脚本,上面的内容不起作用。有明显的不幸事件吗?
欣赏inpuT: - )
我已经意识到这不会起作用,因为我的文件有几个外部依赖项。因此我需要使用devenv.exe。问题是我得到了以下内容:
我得到的是命令退出代码1?我想让项目构建它所需的所有依赖dll,而无需打开visual studio。
有什么想法吗?
Thnxes: - )
答案 0 :(得分:0)
试试这个(添加你自己的dlls引用)
<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>