是否可能在Linux上使用mono
或msbuild
(或其他我不知道的解决方案)将C#代码编译成适用于Windows的二进制文件?
这些C#项目通常包括以下文件:
.cs
.csproj
.config
.manifest
示例应用程序配置:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0.30319" sku=".NETFramework,Version=v4.0" />
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration>
示例 .csproj
(片段):
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<TargetZone>Internet</TargetZone>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Deployment" />
<Reference Include="System.Web" />
</ItemGroup>
<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>false</Install>
</BootstrapperPackage>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
免责声明:我对Windows了解不多。如果这是根本不可能™,我可以使用Windows虚拟机作为最后的手段。
.csproj
文件的内容来做出判断。 - NightOwl888