0

我想添加对 Devpath 文件夹中的程序集的引用。但它不会出现在“添加参考”窗口中。

C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config更新为:

<runtime>
    <developmentMode developerInstallation="true"/>
</runtime>

环境变量 DEVPATH 在系统变量中设置为
C:\SharedAssemblies

我尝试将引用直接添加到项目文件中:

<Reference Include="AssemblyName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=123456789, processorArchitecture=MSIL">

但是 MSBuild 不查看 devpath 文件夹并返回

警告 MSB3245:无法解析此引用。找不到程序集...

这是如何运作的 ?


如果我将程序集添加到 GAC,Fusion 日志会显示使用了 devpath 文件夹:

*** Entrée du journal Binder d'assembly  (28/11/2012 @ 15:09:07) ***

L'opération a réussi.
Résultat de liaison : hr = 0x0. L’opération a réussi.

Gestionnaire des assemblys chargé à partir de :  C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
Exécution sous l'exécutable  c:\users\User\documents\visual studio 2010\Projects\ConsoleApplication1\ConsoleApplication1\bin\Debug\ConsoleApplication1.vshost.exe
--- Un journal des erreurs détaillé suit. 

=== Informations d'état de liaison préalable ===
JRN : utilisateur = User
JRN : DisplayName = AssemblyName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=123456789
 (Fully-specified)
JRN : Appbase = file:///c:/users/User/documents/visual studio 2010/Projects/ConsoleApplication1/ConsoleApplication1/bin/Debug/
JRN : DEVPATH = C:\SharedAssemblies
JRN : PrivatePath initial = NULL
JRN : base dynamique = NULL
JRN : base de cache = NULL
JRN : AppName = NULL
Assembly appelant : Microsoft.VisualStudio.HostingProcess.Utilities, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a.
===
JRN : cette liaison démarre dans le contexte de chargement de default.
JRN : utilisation du fichier de configuration de l'application : c:\users\User\documents\visual studio 2010\Projects\ConsoleApplication1\ConsoleApplication1\bin\Debug\ConsoleApplication1.vshost.exe.Config
JRN : utilisation du fichier de configuration de l'ordinateur à partir de C:\Windows\Microsoft.NET\Framework\v2.0.50727\config\machine.config.
JRN : référence post-stratégie : AssemblyName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=123456789
JRN : un assembly a été trouvé dans le chemin d'accès DEVOVERRIDE C:\SharedAssemblies\AssemblyName.DLL
4

1 回答 1

1

添加注册表项

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\DEVPATH]@="C:\SharedAssemblies"

做这项工作。

MSDN 参考

于 2012-11-28T16:50:59.727 回答