我正在尝试设置一个与 Windows 10/Visual Studio 2015 和 Ubuntu 16.04/MonoDevelop 兼容的 C# 项目。
在 MonoDevelop 项目选项中,我将目标框架设置为 Mono/.NET 4.5
并将配置设置为 Debug|x86
。
.csproj
文件现在看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProjectGuid>{myprojectsguid}</ProjectGuid>
<OutputType>Exe</OutputType>
<RootNamespace>myproject</RootNamespace>
<AssemblyName>myproject</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug</OutputPath>
<DefineConstants>DEBUG;</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Externalconsole>true</Externalconsole>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<DebugType>full</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Externalconsole>true</Externalconsole>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
</Project>
当我构建时,我收到这条消息:
Erzeuge Projektmappe: myproject (Debug|x86)
myproject (Debug|x86) wird erzeugt
Build started 26.05.2016 22:05:49.
__________________________________________________
Project "pathto/myproject.csproj" (Build target(s)):
Target PrepareForBuild:
Configuration: Debug Platform: x86
Target GenerateSatelliteAssemblies:
No input files were specified for target GenerateSatelliteAssemblies, skipping.
Target GenerateTargetFrameworkMonikerAttribute:
Skipping target "GenerateTargetFrameworkMonikerAttribute" because its outputs are up-to-date.
Done building project "pathto/myproject.csproj".-- FAILED
Build FAILED.
0 Warning(s)
0 Error(s)
Time Elapsed 00:00:00.0785520
--------------------- Fertig ---------------------
Erzeugung erfolgreich.
这个消息似乎自相矛盾。英语部分表示“构建失败”,而本地化/德语部分表示“构建成功”。但是没有创建可执行文件。
我没有找到有关 GenerateSatelliteAssemblies
或 GenerateTargetFrameworkMonikerAttribute
的任何适用信息。
我是否需要进一步更改项目设置?我需要提供一些缺失的文件吗?
更新:
显然,有些包裹不见了。所以我运行了 sudo apt-get install mono-complete
。现在项目构建成功。
不过,有关 GenerateSatelliteAssemblies
和 GenerateTargetFrameworkMonikerAttribute
的通知仍然存在。看起来他们没有破坏构建。我仍然想知道它们是什么意思。
最佳答案
(我只是发布提问者在问题中写的答案。)
对于提问者来说,原来是少了一些包。提问者运行 sudo apt-get install mono-complete
,然后项目将成功构建。
关于c# - Monodevelop 中的 Visual Studio C# 项目 - GenerateSatelliteAssemblies 和 GenerateTargetFrameworkMonikerAttribute 的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37471087/