This is only remotely development related, but basically I wanted to install the MS Azure SDK which relies on an installed IIS 7, ASP.Net but also a working installation of the 'WCF HTTP Activation' component.
这只与远程开发相关,但基本上我想安装MS Azure SDK,它依赖于已安装的IIS 7,ASP.Net以及“WCF HTTP激活”组件的工作安装。
Now following the article on MSDN, I always get the following error:
现在关注MSDN上的文章,我总是收到以下错误:
Does anyone have an idea what I'm missing or what I should do? The error message is not very self-explaining and I am a tad lost here.. Software version wise Vista is SP2, Visual Studio 2008 SP1 & .Net 3.5 SP1 is also installed..
有没有人知道我缺少什么或我应该做什么?错误消息不是很自我解释,我在这里丢失了..软件版本明智的Vista是SP2,Visual Studio 2008 SP1和.Net 3.5 SP1也安装..
Update: Oh and the Visual Studio 2010 / .Net 4 beta. Might the later have something to do with it?
更新:哦和Visual Studio 2010 / .Net 4 beta。可能后者与它有关吗?
Any ideas / suggestions?
有什么想法/建议吗?
3 个解决方案
#1
1
Oook here's the deal: when you install the .Net 4.0 beta, for some reason it also overwrites at least one of your .Net 3.0 (WCF) files, at least on 64bit systems, namely
Oook就是这样的交易:当您安装.Net 4.0 beta时,由于某种原因它至少会在64位系统上覆盖至少一个.Net 3.0(WCF)文件,即
"c:\windows\microsoft.net\framework64\v3.0\Windows Communication Foundation\SMConfigInstaller.EXE".
“c:\ windows \ microsoft.net \ framework64 \ v3.0 \ Windows Communication Foundation \ SMConfigInstaller.EXE”。
So the bad part is, with this new version in place you cannot longer enable the "WCF HTTP Activation" Feature of Vista and Win7 and even worse, uninstalling .Net 4 beta does not restore the original version.
所以不好的是,随着这个新版本的到位,你无法再启用Vista和Win7的“WCF HTTP激活”功能,更糟糕的是,卸载.Net 4 beta无法恢复原始版本。
Meh.
So the only manual workaround is to get your hands on an actual pre .net 4 beta version of the folder above and restore the file(s) manually.
因此,唯一的手动解决方法是获取上述文件夹的实际pre .net 4 beta版本并手动恢复文件。
-J
#2
0
I had a problem like this where the machine.config file was corrupted; some component in .NET modified it and inserted a null byte somewhere. If you have powershell installed, you can quickly check the validity of the config like so:
我遇到了这样的问题,其中machine.config文件已损坏; .NET中的某个组件对其进行了修改并在某处插入了一个空字节。如果你安装了powershell,你可以快速检查配置的有效性,如下所示:
[xml](gc $env:windir\Microsoft.NET\Framework\v2.0.50727\config\machine.config)
It will fail to parse if corrupted.
如果损坏将无法解析。
-Oisin
#3
0
CAUTION!!! I would caution against ever messing with framework files manually like the above poster suggested...that's just asking for trouble.
警告!!!我会警告不要像上面提到的海报一样手动搞乱框架文件...那只是在惹麻烦。
I had a similar issue which I have now solved without touching with any framework files.
我有一个类似的问题,我现在解决了,而没有触及任何框架文件。
Background: I was trying to get my IIS hosted WCF service running with a net.tcp endpoint on Windows 7. I had installed IIS after installing VS2010 beta2. Although my service was working over HTTP, when my client tried to connect over net.tcp it would get the completely ridiculous error: "FatalExecutionEngineError was detected" No help at all!!!
背景:我试图在Windows 7上使用net.tcp端点运行我的IIS托管WCF服务。我在安装VS2010 beta2后安装了IIS。虽然我的服务是通过HTTP工作,但当我的客户端尝试通过net.tcp连接时,它会得到完全荒谬的错误:“检测到FatalExecutionEngineError”根本没有帮助!
I think the error was being thrown because my WCF client was unable to connect to the server. Normally a connection-related exception should be thrown, but I suspect that I got the fatal error because my service request consisted of a custom Message with a Stream.
我认为错误是因为我的WCF客户端无法连接到服务器而引发的。通常应抛出与连接相关的异常,但我怀疑是因为我的服务请求包含带有Stream的自定义消息而导致致命错误。
Anyways, I finally got it working and I believe the key was to re-install the WCF HTTP activation along with aspnet.
无论如何,我终于让它工作了,我相信关键是重新安装WCF HTTP激活以及aspnet。
- Go to the Control Panel
- Click on Programs and Features
- Click on Turn Windows Features on/off
- Uncheck Microsoft.Net Framework 3.5.1 (and the two options beneath)
- Click OK to restart
- Follow steps 1-3 then check all 3 options and restart
转到“控制面板”
单击“程序和功能”
单击打开/关闭打开Windows功能
取消选中Microsoft.Net Framework 3.5.1(以及下面的两个选项)
单击确定以重新启动
按照步骤1-3,然后检查所有3个选项并重新启动
I then registered IIS by running the following (as admin): %windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -iru
我通过运行以下(作为管理员)注册IIS:%windir%\ Microsoft.NET \ Framework \ v4.0.21006 \ aspnet_regiis.exe -iru
Sorry for the long story, but I wanted all the "key words" in there for google to help other folks that might run into the same or similar problem.
对于长篇故事感到抱歉,但我希望Google中的所有“关键词”能够帮助其他可能遇到相同或类似问题的人。
#1
1
Oook here's the deal: when you install the .Net 4.0 beta, for some reason it also overwrites at least one of your .Net 3.0 (WCF) files, at least on 64bit systems, namely
Oook就是这样的交易:当您安装.Net 4.0 beta时,由于某种原因它至少会在64位系统上覆盖至少一个.Net 3.0(WCF)文件,即
"c:\windows\microsoft.net\framework64\v3.0\Windows Communication Foundation\SMConfigInstaller.EXE".
“c:\ windows \ microsoft.net \ framework64 \ v3.0 \ Windows Communication Foundation \ SMConfigInstaller.EXE”。
So the bad part is, with this new version in place you cannot longer enable the "WCF HTTP Activation" Feature of Vista and Win7 and even worse, uninstalling .Net 4 beta does not restore the original version.
所以不好的是,随着这个新版本的到位,你无法再启用Vista和Win7的“WCF HTTP激活”功能,更糟糕的是,卸载.Net 4 beta无法恢复原始版本。
Meh.
So the only manual workaround is to get your hands on an actual pre .net 4 beta version of the folder above and restore the file(s) manually.
因此,唯一的手动解决方法是获取上述文件夹的实际pre .net 4 beta版本并手动恢复文件。
-J
#2
0
I had a problem like this where the machine.config file was corrupted; some component in .NET modified it and inserted a null byte somewhere. If you have powershell installed, you can quickly check the validity of the config like so:
我遇到了这样的问题,其中machine.config文件已损坏; .NET中的某个组件对其进行了修改并在某处插入了一个空字节。如果你安装了powershell,你可以快速检查配置的有效性,如下所示:
[xml](gc $env:windir\Microsoft.NET\Framework\v2.0.50727\config\machine.config)
It will fail to parse if corrupted.
如果损坏将无法解析。
-Oisin
#3
0
CAUTION!!! I would caution against ever messing with framework files manually like the above poster suggested...that's just asking for trouble.
警告!!!我会警告不要像上面提到的海报一样手动搞乱框架文件...那只是在惹麻烦。
I had a similar issue which I have now solved without touching with any framework files.
我有一个类似的问题,我现在解决了,而没有触及任何框架文件。
Background: I was trying to get my IIS hosted WCF service running with a net.tcp endpoint on Windows 7. I had installed IIS after installing VS2010 beta2. Although my service was working over HTTP, when my client tried to connect over net.tcp it would get the completely ridiculous error: "FatalExecutionEngineError was detected" No help at all!!!
背景:我试图在Windows 7上使用net.tcp端点运行我的IIS托管WCF服务。我在安装VS2010 beta2后安装了IIS。虽然我的服务是通过HTTP工作,但当我的客户端尝试通过net.tcp连接时,它会得到完全荒谬的错误:“检测到FatalExecutionEngineError”根本没有帮助!
I think the error was being thrown because my WCF client was unable to connect to the server. Normally a connection-related exception should be thrown, but I suspect that I got the fatal error because my service request consisted of a custom Message with a Stream.
我认为错误是因为我的WCF客户端无法连接到服务器而引发的。通常应抛出与连接相关的异常,但我怀疑是因为我的服务请求包含带有Stream的自定义消息而导致致命错误。
Anyways, I finally got it working and I believe the key was to re-install the WCF HTTP activation along with aspnet.
无论如何,我终于让它工作了,我相信关键是重新安装WCF HTTP激活以及aspnet。
- Go to the Control Panel
- Click on Programs and Features
- Click on Turn Windows Features on/off
- Uncheck Microsoft.Net Framework 3.5.1 (and the two options beneath)
- Click OK to restart
- Follow steps 1-3 then check all 3 options and restart
转到“控制面板”
单击“程序和功能”
单击打开/关闭打开Windows功能
取消选中Microsoft.Net Framework 3.5.1(以及下面的两个选项)
单击确定以重新启动
按照步骤1-3,然后检查所有3个选项并重新启动
I then registered IIS by running the following (as admin): %windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -iru
我通过运行以下(作为管理员)注册IIS:%windir%\ Microsoft.NET \ Framework \ v4.0.21006 \ aspnet_regiis.exe -iru
Sorry for the long story, but I wanted all the "key words" in there for google to help other folks that might run into the same or similar problem.
对于长篇故事感到抱歉,但我希望Google中的所有“关键词”能够帮助其他可能遇到相同或类似问题的人。