Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 以.NET framework 3.0为目标时出错_Wpf_Visual Studio 2008 - Fatal编程技术网

Wpf 以.NET framework 3.0为目标时出错

Wpf 以.NET framework 3.0为目标时出错,wpf,visual-studio-2008,Wpf,Visual Studio 2008,我有一个应用程序,是在VS2008中开发的,我的目标是.NET3 不幸的是,当我用.NET3安装在一台干净的计算机上时,它崩溃了。除了通常的TypeInitilisationError,我不知道为什么 将同一台计算机更新为.NET3.5SP1可以使其正常运行 在VS2008中是否有一些被破坏的东西阻止告诉我更详细的错误 我如何确保我没有使用任何最新的框架类? 的确,我发现自己使用了属于3SP1的DropShadowEffect。我把它拿走了 但是,它仍然不起作用 我做错了什么?您是否尝试确定每台

我有一个应用程序,是在VS2008中开发的,我的目标是.NET3

不幸的是,当我用.NET3安装在一台干净的计算机上时,它崩溃了。除了通常的TypeInitilisationError,我不知道为什么

将同一台计算机更新为.NET3.5SP1可以使其正常运行

  • 在VS2008中是否有一些被破坏的东西阻止告诉我更详细的错误
  • 我如何确保我没有使用任何最新的框架类? 的确,我发现自己使用了属于3SP1的DropShadowEffect。我把它拿走了
  • 但是,它仍然不起作用


    我做错了什么?

    您是否尝试确定每台计算机上安装了哪个版本的框架。如果您使用.Net 3.5 SP1来编译程序,它实际上包括.Net 3.0 sp2,它有一些额外的功能(命名为MultiSelector类),这些功能在.Net 3.0 SP1中不可用,而.Net 3.0 SP1是从Microsoft下载的.Net 3.0的默认安装

    您可以在此处尝试一些有帮助的软件:

    编辑: VisualStudio不会告诉您任何错误,因为它使用的.NET3.0版本似乎一切正常。我在使用WPF工具包时遇到了这个问题,因为它需要MultiSelector类,而MultiSelector类直到.NET3.0SP2才出现。因此,Jonathan,如果您能向我们展示“Fresh”.Net 3.0计算机上程序的错误输出,那么我们可能会告诉您使用的是.Net 3.0 sp2中较低版本不支持的内容

    此外,我通常将VS2005用于希望在低于.NET3.5sp1的运行时下运行的程序,但这实际上只适用于.NET2.0应用程序

    如果我们知道您正在使用.NET3.0中的哪些组件,这也会有所帮助

    Noah

    谢谢你的回答。 由于VS2008,在我的开发计算机上我有最新的3.5SP1。 但在VisualStudio中,我选择了3作为目标

    为了检查我在一台干净的电脑上安装了3.0

    所以你的建议告诉我安装了哪个框架,但没有告诉我我的程序在3.0中没有的最新框架中使用了什么


    此外,在VS2008中必须打破某些东西,因为这会让我感到温暖…

    我觉得这是VS2008的一个问题,但显然MS的感觉不同

    VS2008附带了.NET3.5、一些.NET3.0服务包和.NET2.0SP1。它只能检测您是否正在使用不属于您机器上安装的版本的东西,而不能检测您是否符合某些service pack。这意味着,如果您以.NET 2.0为目标,但将软件安装在没有.NET 2.0 SP1的计算机上,则如果您使用任何特定于SP1的内容,则应用程序在尝试调用时将失败


    我所看到的检测这种情况的唯一方法是检查service Pack的变更列表或以.NET 3.5为目标。如果安装了.NET 3.5,则随附的service Pack也会安装。这不是一个好的解决方案,但这是我找到的唯一解决方案。

    查看事件查看器以了解更多信息-此处没有太多内容,我将标题回滚。这不是关于安装.NET,而是关于VS针对某个特定的框架,但它不是在该框架下运行的。@Rob:“不幸的是,当我用.NET 3在一台干净的计算机上安装时,它崩溃了。”--我想我可能错了,但他需要澄清。@Rich-我的回滚只针对标题,你的身体没有变化。@Rob:我不是说是你,但还是失去了很多变化。而且,原来的标题毫无意义,所以只是把它向后滚动似乎很愚蠢。这不是一个答案,请编辑你的问题或留下评论。我认为诺亚是正确的。您的项目的目标是.NET 3.0。在您的计算机上,.NET 3.0包括.NET 3.0 SP2,其中包括原始版本后添加的组件。VS无法区分这两者之间的区别,因为它只能根据您机器上的内容来判断。