这个特殊问题很重要。
在我当前的配置中,Visual Studio 2013构建我的项目如果它在 Debug 配置中,但如果它在中发布配置。
不知何故,当我选择版本160错误时,我会通过它们,它们在不可能的地方。这是一个例子。
Visual studio错误如下:
错误3;预期E:\ Users \ Robert \ Documents \ Visual Studio 2013 \ Projects \ GW2.NET \ GW2.NET \ GW2.NET \ V1 \ MapInformation \ DataProvider \ ContinentData.cs 96 36 GW2.NET
这是有问题的代码:
public static async Task<T> GetContentAsync<T>(string apiMethod, List<KeyValuePair<string, object>> arguments, Categories category)
{
var response = await GetJsonAsync(apiMethod, arguments, category);
return await Task.Factory.StartNew(() => JsonConvert.DeserializeObject<T>(response));
}
你看到没有错误,如果有一个Debug配置也不会构建。我已经尝试清理解决方案,从TFS获得最新信息。删除并重新创建配置。
现在我的智慧结束了。有人可以帮我吗?
该项目是一个c#4.0项目,包含MS async,JSON.NET和Rest#packages
答案 0 :(得分:7)
如果你真的遇到困难,你可以做的一件事就是在text / xml编辑器中打开csproj文件并检查那里的实际XML。您试图根据调试/发布配置找出不同设置的设置/属性。这可能会让您深入了解两种配置之间的不同之处。
答案 1 :(得分:6)
好吧,其他任何人都有同样的问题,这就是我所做的。感谢Dylan Smith我得到了解决方案。
使用您选择的文本编辑器打开您的.csproj文件,我使用了Notepad ++,但VS也在运行。顶部应该有名为 PropertyGroup 的元素。这些元素定义了您的构建配置。对我来说有两个:
一个用于调试:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PlatformTarget>x86</PlatformTarget>
<DocumentationFile>bin\Debug\GW2.NET.XML</DocumentationFile>
</PropertyGroup>
还有一个要发布:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>none</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DocumentationFile>bin\Release\GW2.NET.XML</DocumentationFile>
<LangVersion>4</LangVersion>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
除了明显的差异外,前两个节点( DebugSymbols 和 DebugType )的主要区别在于 LangVersion 元素。我删除了它,并且该项目也在发布模式下构建。
因此,如果您遇到与我相同的问题,请打开.csproj文件并删除此节点,这应解决它。
P.S。任何人都可以告诉我 LangVersion 元素是什么意思,如果我将其从4更改为4.0,我会收到以下错误:
/ langversion的选项'4.0'无效;必须是ISO-1,ISO-2,3,4,5或默认
任何人都可以回答这个问题,所以我可以在这里提供更多信息。
答案 2 :(得分:2)
如果您正在使用带有自己的自定义对话框的Visual Studio 2010构建Wix安装项目,并且项目以调试模式构建但未处于发布模式,请转到Project
→ Properties
→将Tool Settings
设置为Release Mode
并选中Suppress ICE validation
复选框。