问题标签 [assembly-name]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 需要完全限定的类型名称
我需要在运行时解析程序集和类型,并且需要找到完全限定的类型名称。出于某种原因,我无法正确处理,因为我一直收到一个异常,说它找不到指定的类型。
app.config 文件中定义了要查找的程序集,如下所示:
程序集名为:Driver.Data.Module 程序集中的命名空间为:Driver.Data.Module ,类型名称为:DriverDataModule,这也是.cs文件的名称。
我似乎找不到如何在 xml 文件中正确指定名称。有人可以帮助我使用完全限定的类型名称吗?
这是针对复合 WPF 应用程序的。
谢谢!
c# - AssemblyName.ReferenceMatchesDefinition 是如何工作的?
给定以下代码:
为什么这两项检查都打印“True”?我原以为 AssemblyName.ReferenceMatchesDefinition 应该考虑程序集名称的版本、文化和公钥标记属性的差异,不是吗?
如果没有,ReferenceMatchesDefinition 做了哪些简单名称的比较没有做的事情?
c# - Conditional AssemblyName causes C# project to always rebuild when using names other than "Debug"/"Release"
So I'm adding a "d" extension to my assembly name when building in debug mode. As far as I can tell the standard way to do this in C# is to edit the .csproj file and put in the following:
That has the desired effect, but now the darn project always rebuilds the output .dll, causing other projects that depend on it to relink, etc.. Without this change, I don't have any such problem.
So far increasing the verbosity of the project output hasn't helped.
Edit: An additional, important detail is that we're using names like "V90 Release", "V90 Debug", "V100 Release" etc.. for our configurations, so that we can target different versions of the Visual Studio runtime. I wrote a test app with the standard configuration names and found my problem doesn't happen in that case.
dll - ILMerge & Keep 程序集名称
我需要合并一些 dll,文件名和程序集名称都需要与我的主 dll (mydll.dll) 相同。我还需要 pdb 文件。我该怎么做?
以下是我尝试过的几件事:
只需使用 ILMerge mydll.dll .... /out:mydll.dll 失败并显示“访问路径 ...mydll.pdb 被拒绝”。
将 mydll.dll 重命名为 mydllTemp.dll,将 mydll.pdb 重命名为 mydllTemp.pdb,然后 ILMerge mydelltemp.dll .... /out:mydll.dll 失败并显示“与 ...mydlltemp.dll 关联的 pdb 已过期" 我认为这是因为 ilmerge 会查看程序集名称来查找 pdb,因此它会查找已重命名的 mydll.pdb。
将 mydll.dll 重命名为 mydllTemp 然后 ILMerge mydelltemp.dll .... /out:mydll.dll 这可以正常工作,但是当我将调试器附加到进程时它不会触发
ILMerge mydll.dll ... /out:mydlltemp.dll 将 mydlltemp.dll 重命名为 mydll.dll 并将 mydlltemp.pdb 重命名为 mydll.pdb 现在我可以将调试器附加到触发断点的进程。但是,程序集名称现在是 mydlltemp 而不是 mydll
那么我怎样才能让它工作并拥有原始的程序集名称呢?
c# - 获取不带版本和其他详细信息的程序集名称
我得到的程序集名称如下:
我得到以下信息:
CP.Proj,版本=1.0.0.0,文化=中性,PublicKeyToken=null
有没有办法只获取程序集名称"CP.Proj"
,而不获取版本和其他信息?
c# - 如何通过 ASP.NET C#(程序集?)中的代码获取项目名称
我正在尝试通过代码(TestGetAssemblyName
)获取项目名称:
我试过System.Reflection.Assembly.GetExecutingAssembly().GetName().Name
了,但这会返回一些奇怪的字符,看起来是动态生成的。有没有办法TestGetAssemblyName
通过代码返回给我?
c# - 什么是 Assembly.GetCallingAssembly().GetName().Name 的 java 等价物?
如果有的话,Assembly.GetCallingAssembly().GetName().Name 的 java 等价物是什么?
背景与研究:
我正在将一些 C# 代码翻译成 Java。目前我无法测试 Assemblyname 返回的内容,因此我无法弄清楚我真正在寻找什么样的字符串。我发现将程序集与编译的 .jar 文件进行比较,并且该方法检索与编译的运行实例相关的变量。
此外,似乎我需要的变量可能在清单中,并且清单可能会像这个问题的答案所暗示的那样被检索:Reading my own Jar's Manifest。
然而,这是我卡住的地方。由于我无法确切地弄清楚我在寻找什么,因此很难找到等效的变量。我意识到我的问题可能遗漏了一些关键信息,但是如果有人能比我自己更好地理解我的需要,我在这里写。指点需要什么样的信息来解决我的问题,也非常受欢迎。
编辑1:
意识到我可能正在寻找标题包含方法的调用者的名称,我找到了这个链接:如何使用堆栈跟踪或反射找到方法的调用者?
似乎这是朝着正确方向迈出的一步,但我仍然不确定。
c# - 每个配置的 .NET AssemblyName -> 始终重建
我想出了如何根据当前配置更改输出程序集的文件名:
不幸的是,现在每次我在调试配置中点击 Visual Studio 中的“全部构建”时,它实际上都会重建所有内容,即使根本没有进行任何更改:
在发布模式下,我只收到一次此消息,之后直到我对代码进行任何更改,“myAssembly”才会构建。
我想有一些检查是否存在输出程序集(可能还有时间戳检查等)。有人知道我如何在我的 .csproj 文件(或其他地方)中配置它吗?
[编辑]
这是一个完整的 .csproj 文件的示例,其中包含依赖于配置的输出文件: http: //pastebin.com/pFj4nxtj
visual-studio-2015 - 在 UWP Projetct 中更改 AssemblyCompany 属性 - AssemblyInfo.Versioning.AutoGenerated.cs 文件
我总是重建我的项目,生成名为“AssemblyInfo.Versioning.AutoGenerated.cs”的文件。该文件包含一些信息,例如:
这些文件是为我的解决方案中的所有项目生成的。我需要更改这个值,但是当我更改时,运行项目,值就会恢复。
有什么问题?如何永久更改此设置?
提前致谢
c# - 获取引用项目的程序集名称
假设我有项目 A 和项目 B。我将它们放在同一个解决方案中,A 引用 B 并将 B 用作一种从属进程。我不想硬编码 B 的程序集名称,但我想知道如何在项目 A 中查询程序集名称,以便执行项目 B 的程序集。