您的位置:首页 > 职场人生

5职业源码的问题

2016-03-02 18:27 387 查看
下载lib.gz时,也截图。好对比今后有没有更新。看看源码里的所需文件

最新源码无法运行的原因:

1,  客户端错误提示

MirGraphics文件下的MLibrary.cs

System.Windows.Forms.MessageBox.Show("Wrong version, expecting lib version: " + LibVersion.ToString() + " found version: " + CurrentVersion.ToString() + ".", _fileName, System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error, System.Windows.Forms.MessageBoxDefaultButton.Button1);

Wrong version,expecting lib version:

【解决】把MirGraphics。MLibrary  的 public const int LibVersion = 2;改为1

2,客户端黑屏解决办

 【解决】 client.exe和client.config一起复制到client下(client.config不能少)。

3,  directX问题---新版本会包异常(好像与旧版本的directX用的不是一个版本)

【解决试试】记得第一次下载了一个directX的包。里面有许多引用。

下面是错误

private static void Application_Idle(object sender, EventArgs e)

        

{

            

try

           

 {

             

   while (AppStillIdle)

            

    {

                   

 UpdateTime();

 UpdateEnviroment();

   

 RenderEnvironment();

  

              }

        

    }

        

    catch (Exception ex)

   

     {

                SaveError(ex.ToString());

            }

  

}

{"“Client.MirGraphics.DXManager”的类型初始值设定项引发异常。"}

{"未能加载文件或程序集“Microsoft.DirectX.DirectSound.dll”或它的某一个依赖项。 不是有效的 Win32 应用程序。 (异常来自 HRESULT:0x800700C1)"}

“Client.MirGraphics.DXManager”的类型初始值设定项引发异常。

MirObjects  DrawPoison()   1.1.2.4版本里有这个方法

旧5职业  的   MirObjects  没有 DrawPoison() 

  DXManager.Sprite.Draw2D(DXManager.PoisonDotBackground, Point.Empty, 0, new PointF((int)(DisplayRectangle.X + 7 + (poisoncount * 3)), (int)(DisplayRectangle.Y - 21)), Color.Black);  

C:\Windows\Microsoft.NET\DirectX for Managed Code\1.0.2910.0\Microsoft.DirectX.Direct3DX.dll     只有5和7个以上的参数。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

=========LIB文件用于并不一定用于静态连接,也可用于动态连接,但其加载方式一定是【隐式】的,不用你调用LoadLibrary()来加载动态库==================

下载的源码,都是.net4.5  framework的。是英文的。改成大于4.5的就行了。  4.51是中文的

源码里的少的文件需要下载。   

 ExtraDataPath = @".\Data\Extra\",      //无

 ShadersPath = @".\Data\Shaders\",      //无

   GatePath = @".\Data\Gate\",            //无

  PetsPath = @".\Data\Pet\",  //无

-----------DirectX3D入门教程,包括教程以及事例代码-Direct3D------------

还有directx教程。里面的【目标平台】86平台。否则无法运行。

---------------------------------------------------------------------------------------------

版本 1.0.2902.0

Microsoft.DirectX

Microsoft.DirectX.Direct3D

Microsoft.DirectX.Direct3DX

Microsoft.DirectX.DirectSound

C:\Windows\Microsoft.NET\DirectX for Managed Code\1.0.2902.0\Microsoft.DirectX.dll

C:\Windows\Microsoft.NET\DirectX for Managed Code\1.0.2902.0\Microsoft.DirectX.Direct3D.dll

将 map  sound  data  复制到源码的F:\mir2-master\Client   下。就可以调试了

C++中LIB文件如何在C#中调用?

lib文件要保证是静态LIB

即你创建工程的时候选的是Win32 Static Library(静态链接库)

我不明白你为什么不直接创建一个动态链接库(dll)

这样调用就直接多了 

难道你没有源代码?

追问:

你好,我用的是C#,别人用的C++写的接口驱动要让我调用,所以求助,是新手,有问题了再请教,多谢!

-----------------------------------------------对未能加载文件或程序集“Microsoft.DirectX.DirectSound.dll”或它的某一个依赖项。 不是有效的 Win32 应用程序。----------------------------

useLegacyV2RuntimeActivationPolicy="true"  

修改App.config文件。

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

    <startup useLegacyV2RuntimeActivationPolicy="true"> 

        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />

    </startup>

</configuration>

加app.config配置文件!

放在项目的根目录下面,配置文件内容为:

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

  <startup useLegacyV2RuntimeActivationPolicy="true">

    <supportedRuntime version="v2.0.50727"/>

    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>

  </startup>

</configuration>

C# DX编程:未能加载文件或程序集"Microsoft.DirectX.DirectSound.dll"或它的某一个依赖项?

将应用程序生成为Any CPU就可以了 

反之,如果系统是64位的Win7,就应该将新项目的生成目标平台改为x86 。

.net2.0的DirectX.dll和Directsound.dll怎么使用在.net4.0上。

1.引用Microsoft.DirectX.dll和Microsoft.DirectX.Directsound.dll这2个文件。

2.项目属性里边,把目标平台改成X86。

3.调试菜单-->异常。把Managed Debugging Assistants里的LoaderLock引发的异常去掉。

4.App.Config修改下:

<?xml version="1.0"?>

<configuration>

    <startup useLegacyV2RuntimeActivationPolicy="true">         

    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>

</configuration>

startup配置节中的useLegacyV2RuntimeActivationPolicy属性是在.NET4.0中新增的,默认是false,表示:使用默认的 .NET Framework 4 激活策略,该激活策略将加载 .NET Framework 4 通过使用公共语言运行时 (CLR) 版本 4 所创建的程序集,以及 CLR 早期版本通过使用受支持的低于版本 4 的最高 CLR 版本所创建的程序集。  

现在如果当程序在.NET4.0环境下要使用.NET2.0及.NET3.5的程序时就必须将useLegacyV2RuntimeActivationPolicy设置为true,同时还要注意,需要在startup配置节的字节中添加supportedRuntime配置节,并指定为"v4.0",表示使用.NET4.0运行时来运行程序。

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: