如何确定构建提供程序正在构建的类型(类)的实际文件名(App_Code_xxx.dll)。
例如,我有一个构建提供程序,它根据某些配置注入类。说MyNameSpace.MyClass。 Web应用程序使用此构建提供程序时。我只想知道临时文件中asp_net.dll在磁盘上编译的实际文件(.dll)。
在真正意义上,我甚至想控制这个文件的命名。
穆罕默德
答案 0 :(得分:1)
我从不喜欢Visual Studio 2005附带的网站构建方法,每次构建时都会创建一个名为App_Code_xxx.dll的新文件,使用它会很痛苦。
Visual Studio 2005 SP1(及更高版本)有一个Web应用程序,可以将您的项目构建为单个.dll(就像在.net 1.1中完成的那样)并且更容易使用,我建议将您的网站转换为Web应用。教程可用here和here
这样您就不必担心写在磁盘上的文件名
了答案 1 :(得分:0)
假设YourClass是在YourDll.dll中定义的,那么您可以使用以下代码:
var assembly= Assembly.GetAssembly(typeof(YourClass);
string dllName=assembly.GetName().Name;
Assert.AreEqual("YourDll", dllName);