我一直试图浏览CodePlex上的一些项目,试图了解其他人如何设计他们的应用程序。我试图在C#2008 Express中打开这些项目时遇到了一些麻烦。当我打开解决方案或csproj文件时,我遇到了以下错误消息:
'Foo.csproj'无法打开,因为此版本的应用程序不支持其项目类型(.csproj)。
要打开它,请使用支持此类项目的版本。
当我打开自己创建的项目时,这不会发生。外部项目甚至在2005年以这种格式自动转换,但在尝试打开转换后的文件时会窒息。
这是Express版本的限制,还是我可以做些什么来解决这个问题?
我尝试使用Google进行搜索,但我发现的结果不太有帮助。
谢谢!
更新
@JaredPar询问了我打开时遇到的具体项目
众所周知的“将骆驼打破的稻草”被称为Continuum,但我也遇到过CodePlex上的其他项目以及Paint.NET源的困难。
我已尝试卸载并重新安装,但问题仍然存在。
@brianpeiris请求我的安装规范:
Visual Studio
Microsoft Visual Studio 2008
版本9.0.30729.1 SP
Microsoft .NET Framework
版本3.5 SP1
已安装版:C#Express
Microsoft Visual C#2008 91910-152-0000061-60196
带有SP1的Microsoft Visual C#2008 Express Edition的修补程序 - ENU(KB945282)KB945282
带有SP1的Microsoft Visual C#2008 Express Edition的修补程序 - ENU(KB946040)KB946040
带有SP1的Microsoft Visual C#2008 Express Edition的修补程序 - ENU(KB946308)KB946308
带有SP1的Microsoft Visual C#2008 Express Edition的修补程序 - ENU(KB947540)KB947540
带有SP1的Microsoft Visual C#2008 Express Edition的修补程序 - ENU(KB947789)KB947789
系统
系统:
Microsoft Windows XP
专业
版本2002
Service Pack 2
计算机
AMD炫龙(TM)64 X2手机
科技TL-50
1.60 GHz,1.75 GB的RAM
物理地址扩展
另外,我应该注意到我已经尝试重新安装VS,但是没有用。我也安装了Web Developer Express,虽然我可以从那里打开并运行项目,但C#仍然令人沮丧。
答案 0 :(得分:3)
Continuum项目的代码库不是太大。 尝试在Visual C#Express中创建一个新项目并手动导入代码。 在成功构建之前,您可能还需要添加一些引用。
修改强>
我刚刚在Continuum项目中做到了这一点。
进一步修改:
这是未编辑的Continuum sln和csproj文件的Unix差异,与我使用上述过程创建的文件进行比较。 (我已手动合并文件以找出真正的差异。)(忽略语法高亮。)
6c6
<ProductVersion>9.0.21022</ProductVersion>
---
<ProductVersion>9.0.30729</ProductVersion>
8c8
<ProjectGuid>{FD0F9C26-38BF-473F-8FD4-FDB1C7BEA600}</ProjectGuid>
---
<ProjectGuid>{E3E4FFA5-0EC3-4F94-B842-33C7A49B7FF5}</ProjectGuid>
13c13
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
---
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
37a38,46
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data.DataSetExtensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
225c234
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
---
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
3,4c3,4
# Visual Studio 2008
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Continuum", "Continuum.csproj", "{FD0F9C26-38BF-473F-8FD4-FDB1C7BEA600}"
---
# Visual C# Express 2008
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Continuum", "Continuum.csproj", "{E3E4FFA5-0EC3-4F94-B842-33C7A49B7FF5}"
12,15c12,15
{FD0F9C26-38BF-473F-8FD4-FDB1C7BEA600}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FD0F9C26-38BF-473F-8FD4-FDB1C7BEA600}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FD0F9C26-38BF-473F-8FD4-FDB1C7BEA600}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FD0F9C26-38BF-473F-8FD4-FDB1C7BEA600}.Release|Any CPU.Build.0 = Release|Any CPU
---
{E3E4FFA5-0EC3-4F94-B842-33C7A49B7FF5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E3E4FFA5-0EC3-4F94-B842-33C7A49B7FF5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E3E4FFA5-0EC3-4F94-B842-33C7A49B7FF5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E3E4FFA5-0EC3-4F94-B842-33C7A49B7FF5}.Release|Any CPU.Build.0 = Release|Any CPU
您会注意到文件没有显着差异,并且正如此答案的评论中所述,我可以实际打开,编译和运行未经编辑的Continuum 1.1.1项目!似乎问题可能出在提问者的特定设置上。
Microsoft Visual Studio 2008版 9.0.30729.1 SP Microsoft .NET Framework版本3.5 SP1
已安装版:C#Express
Microsoft Visual C#2008
91910-152-0000061-60588 Microsoft Visual C#2008Microsoft Visual C#2008的修补程序 带SP1的Express Edition - ENU (KB945282)KB945282更多 信息,访问 http://support.microsoft.com/kb/945282
Microsoft Visual C#2008的修补程序 带SP1的Express Edition - ENU (KB946040)KB946040更多 信息,访问 http://support.microsoft.com/kb/946040
Microsoft Visual C#2008的修补程序 带SP1的Express Edition - ENU (KB946308)KB946308更多 信息,访问 http://support.microsoft.com/kb/946308
Microsoft Visual C#2008的修补程序 带SP1的Express Edition - ENU (KB947540)KB947540更多 信息,访问 http://support.microsoft.com/kb/947540
Microsoft Visual C#2008的修补程序 带SP1的Express Edition - ENU (KB947789)KB947789了解更多 信息,访问 http://support.microsoft.com/kb/947789
操作系统名称Microsoft Windows Vista 版本6.0.6001服务 Pack 1 Build 6001
答案 1 :(得分:2)
尝试使用文本编辑器打开.csproj -file并删除具有GUID的ProjectType元素 - 它通常是第一个PropertyGroup下的第一个条目。
答案 2 :(得分:1)
您是否正在尝试加载VSTS单元测试项目? Visual Studio的Express版本不支持VSTS单元测试项目,这将导致此类警告。如果您只想查看源代码但是无法加载测试,则可以稍微编辑项目文件并加载项目。
编辑
澄清说我正在谈论VSTS测试单元测试项目与其他类型的单元测试项目。
答案 3 :(得分:1)
好像你的VS版本不喜欢创建.csproj的VS版本。
您可以尝试将自己创建的.csproj中的标题复制到无效的文件中。如果你用C#编写一个为你做这个的程序,那就加分了。
一个问题:如果文件是使用VS 2005创建的,您可能需要修改标题以使其看起来好像它仍然由VS 2005创建,以便您的VS将安全地转换它。我建议在网上搜索使用VS 2005制作的.csproj,并使用其中的标题。
尝试下载并重新安装Visual C#Express 2008.您可能安装了错误的副本。使用简单的谷歌从官方网站下载。
您是否拥有正确的.NET框架?最新版本是3.5。如果您的版本较低,可能会导致VS拒绝加载它。即使将标题更改为2.0或更低版本,应用程序也可能无法构建,因为它是使用更高版本的.NET构建的。
如果所有其他方法都失败了,请尝试安装Visual C#2005。
答案 4 :(得分:0)
根据项目的不同,您可能需要安装许多更新,例如silverlight,mvc .. visual studio c#express 2008 sp1。(有些情况下第三方框架会创建这些自定义项目模板。)可能有测试只有专业版Visual Studio才能理解的项目。我认为最有效的方法是使用强大的开发来开放和使用这些项目。 SharpDevelop不会抱怨项目文件,在大多数情况下,如果你有正确的dll,你也可以建立项目。
答案 5 :(得分:0)
尝试使用文本编辑器打开项目,并替换&lt; ProductVersion&gt;的内容。到您自己的项目文件创建的版本。
答案 6 :(得分:0)
@brianpeiris 几乎拥有它:
Visual Studio / C#Express 2008 RTM 版本9.0.21022.8 ,而Visual Studio / C#Express 2008 SP1 版本9.0.30729.1 。
尝试升级到Microsoft Visual Studio 2008 Express Editions with SP1。您可能还想阅读Visual Studio Express with SP1 FAQ。
答案 7 :(得分:0)
警告:这完全是一个黑客,但是:您可以编辑.csproj文件并注释掉&lt; ProjectTypeGuids&gt;,如下所示:
<-- <ProjectTypeGuids>{6D335F3A-9D43-41b4-9D22-F6F17C4BE596};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> -->
那就是说,只是评论那些可能会取代你打开项目的麻烦,而不是编译它。一个更好的方法是谷歌guid在那条线上。例如,如果你谷歌上面的项目类型guids,你将能够发现项目使用XNA,然后你可以下载C#2008 Express。
答案 8 :(得分:0)
我在安装Visual Studio的DB2加载项之后遇到了这个问题(无法打开,因为此版本的应用程序不支持其项目类型(.csproj)。),我通过以下步骤解决了这个问题。 点击开始&gt;所有程序&gt; Visual Studio 2008&gt; Visual Studio工具&gt;单击Visual Studio 2008命令提示符。输入以下命令,然后按Enter键。
devenv.exe / resetskippkgs
执行此命令可以解决您的问题。
答案 9 :(得分:0)
可能会有所帮助......
它现在应该运行旧项目。
SkipLoading标记的存在禁用了VSPackage的加载;清除标记会重新启用VSPackage的加载。
以上命令清除所有SkipLoading标签。
答案 10 :(得分:0)
转到开始&gt;所有程序&gt; Visual Studio 2008&gt; Visual Studio工具&gt;单击Visual Studio 2008命令提示符。输入以下命令,然后按Enter键。
devenv.exe / resetskippkgs
它打开Visual Studio 2008 IDE,最后一切正常。