当我尝试从我的开发环境运行我的ASP.NET应用程序时,我收到以下错误消息:编译器错误消息:CS1502:最佳重载方法匹配'mmars.Printing.printFunctions.SetPrintSummaryProperties(mmars。 contextInfo,ref mmars.Printing.printObjSummary)'有一些无效的参数。
当我在我们的生产服务器上发布并运行时,我没有收到此错误。
当我从构建菜单构建时似乎编译正常(事实上如果我更改下面的粗体函数调用的第二个参数,我在visual studio中得到编译器错误),但现在我突然开始得到这个运行时的错误消息。除了摆脱错误之外我还有另外一个问题是,为什么.NET开发服务器甚至试图在我的项目中进行JIT编译,如果它已经编译成DLL?
Printing.printObjSummary myPrintObj = new Printing.printObjSummary();
的 Printing.printFunctions.SetPrintSummaryProperties(ci, ref myPrintObj);
printObjects.Add(myPrintObj);
这似乎突然从今天突然出现,而且非常令人沮丧。
此外,虽然在编译时没有警告,但当我被重定向到具有第一次编译错误的页面时,会出现许多警告,如下所示:
警告:CS0436:'c:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ root \ 3dad423c \ 40569048 \ App_Code.b0rgpkzr.4.cs中的类型'mmars.MMARSSummaryDataItem' '与'c:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ root \ 3dad423c \ 40569048 \ assembly \ dl3 \ 7179c19a \ 345f948c_ece7ca01 \ mmars中的导入类型'mmars.MMARSSummaryDataItem'冲突。 DLL”。使用'c:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ root \ 3dad423c \ 40569048 \ App_Code.b0rgpkzr.4.cs'中定义的类型。
这有什么用?网络服务器是否抱怨源文件中的名称冲突和源文件导致的dll?
答案 0 :(得分:2)
原来解决这个问题的方法只是将我的App_Code文件夹重命名为其他内容。显然,开发Web服务器尝试对名为App_Code的文件夹中的东西进行JIT编译,即使这些文件的所有成员已经存在于已编译的程序集中,这也是导致此问题的原因。
答案 1 :(得分:0)
您是否尝试过清除临时ASP.NET文件?组件的缓存版本可能不同步或者......
另一种可能性(远程),是旧版本的dll在你的程序集缓存中吗?