C# 远程代码库

C# 远程代码库,c#,app-config,codebase,C#,App Config,Codebase,我有一个动态链接库。该dll上载到服务器上。我希望每次应用程序开始从服务器获取“最新”的dll时,我都会这样做,因此我在app.config中使用了以下代码。为什么不起作用 以下是app.config文件: <configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly>

我有一个动态链接库。该dll上载到服务器上。我希望每次应用程序开始从服务器获取“最新”的dll时,我都会这样做,因此我在app.config中使用了以下代码。为什么不起作用

以下是app.config文件:

<configuration>
<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="ReflectionTest"
            publicKeyToken="f94c9b9f0707ee96"
                culture="neutral" />
            <codeBase version="1.0.0.0"                   
                href="http://127.0.0.1/ReflectionTest.dll"/>
        </dependentAssembly>
    </assemblyBinding>
</runtime>
</configuration>

您的.dll在该位置实际可用吗?您是否通过某个web应用程序提供服务


如果您在web浏览器中键入该URL,它是否允许您下载或打开该文件?

首先,您可能走错了方向。即使您没有更改版本,您的应用程序也可能最终使用较旧的程序集副本

假设在
元素中有一个有效的URI,当应用程序第一次运行时,运行时将无法在中找到程序集,直到它探测到您的代码库。然后,它将把程序集下载到GAC。当您的应用程序再次运行时,运行时将在GAC中找到该程序集,因此不需要对其进行探测

<>而不是使用<代码> <代码>,考虑使用反射。具体来说,您可能希望在应用程序中使用
Assembly.LoadFrom(assemblyUri)
,从应用程序设置获取URI。从那里,您可以使用反射API创建对象,特别是使用
Activator.CreateInstance()


至于从服务器获取程序集,请确保DLL位于正确的位置,并且web服务器正在运行并正确配置。

是的,它是可用的。是Apache服务器,我在那里托管我的网站