假设您有两个网站项目的解决方案,网站A和网站B.现在在网站A的App_Code文件夹中,在ClassX.cs文件中定义了类X.如果网站B还需要访问ClassX.cs,您会怎么做?
有没有办法在App_Code文件夹中共享此文件?假设将文件移动到公共库是不可能的。
答案 0 :(得分:1)
请不要使用这些不圣洁的网站项目。请改用Web应用程序项目,将共享类打包到库项目中,并从所有Web应用程序中引用它。
答案 1 :(得分:1)
将您的共享类打包到一个库(DLL)中,并从每个站点右键单击添加引用,然后选择您创建的库。
答案 2 :(得分:1)
受限于“假设将文件移动到公共库是不可能的”。你可以做到这一点的唯一方法是使用NTFS交接点实质上创建一个符号链接,在两个文件夹中都有相同的.cs文件。
这是一个可怕的选择(出于版本控制的原因)...将它移动到公共库是最好的选择。
这是关于NTFS交接点的维基百科条目 http://en.wikipedia.org/wiki/NTFS_junction_point
这是一个创建它们的工具 http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx
答案 3 :(得分:0)
我不相信没有将ClassX移动到新的代码库项目中的方法。 .NET要求所有程序集的依赖项存在于与程序集本身相同的文件夹中,或者在GAC中,以便自动检测。
你可以尝试通过Reflection类手动加载程序集,虽然它有点hacky。
最好的解决方案,如果您有时间并且愿意接受它,那么将采用JRoppert将其移至Web应用程序项目的解决方案。然后,您可以使用Web引用(与VS中的常规引用一样好)来引用ClassX。
HTH